zoukankan      html  css  js  c++  java
  • 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);
    }
    
    

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

  • 相关阅读:
    使用express+multer实现node中的图片上传
    利用H5构建地图和获取定位地点
    移动端开发基础 干货分享
    关于angularJS的一些用法
    你好 JSONP !!!!
    CentOS7使用Alien将RPM从DE转换为DEB和DEB转换为RPM包
    [Windows] visio2019破解激活
    python---九九乘法表代码
    HTTP 请求方式: GET和POST的比较
    win10WLAN没有有效的ip配置
  • 原文地址:https://www.cnblogs.com/ButterflyEffect/p/9488738.html
Copyright © 2011-2022 走看看