MVC 實現下拉框


MVC動態實現下拉框的方式有很多種,但是方便快捷的卻是很少,現在記錄一種常用的下拉框實現方式:

1.先看看視圖代碼是怎么寫的

<div class="form-group col-xs-12 col-sm-8 col-md-8">
      <label class="control-label">這是一個下拉框:</label>
      @Html.DropDownList("selectRoleId", ViewData["rolds"] as SelectList, "----請選擇----", new { @class = "form-control" })
</div>

從上代碼可以看出Html自帶屬性去制作,與之不同的是用ViewData去存儲下拉框的數據
2.再看看控制器代碼是怎么寫的

//封裝數據方法
private object EditGetAllRoleIds(string roleId)
{
        var selectList = RoleBLL.GetInternalRoles();//取數據集
        ViewData["rolds"] = new SelectList(selectList, "RoleId", "RoleName", roleId);//下拉框(保存/顯示)的值,及選擇的值
        return ViewData["rolds"];
}
//視圖顯示
public ActionResult Edit(long id)
{
      EditGetAllRoleIds(user.RoleId);//加載下拉框
      return View(result);
}
//POST操作方法
[HttpPost]
public ActionResult Edit(long id, UserRoleModifyModel model, FormCollection frmcol)
{
      EditGetAllRoleIds(model.RoleId);//加載下拉框,這里要調用方法加載,不然post請求數據會報未將對象實例化
      model.RoleId = frmcol["selectRoleId"];//獲取用戶選中下拉框的值,巧用FormCollection 控件取ID的value
      return View(model);
}

這樣即可動態加載下拉框的數據了.............


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM