码迷,mamicode.com
首页 > Web开发 > 详细

MVC 实现下拉框

时间:2018-08-16 19:49:00      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:获取   方式   mode   操作   str   roles   lis   mod   代码   

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);
}

这样即可动态加载下拉框的数据了.............

MVC 实现下拉框

标签:获取   方式   mode   操作   str   roles   lis   mod   代码   

原文地址:https://www.cnblogs.com/ButterflyEffect/p/9488738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!