MVC 下拉框获取值和赋值(多选)

1.视图

<div class="form-group">
    @Html.LabelFor(m => m.Positions, new { @class = "col-sm-2 control-label" })
         <div class="col-sm-10">
             @Html.ListBoxFor(model => model.Positions,new MultiSelectList(Model.Postlist,"Id", "Name"), new { @class = "form-control select2", multiple = "multiple", style = "width: 100%;" })
             <span id="states-loading-progress" style="display: none;">Please wait..</span>
             @Html.ValidationMessageFor(m => m.Positions, "", new { @class = "text-danger" })
          </div>
</div>

在控制器中保存多选的值:

var post=string.Join(",", model.Positions);  //多选是以逗号隔开的

当修改多选下拉框的时候,需要将原来选的值赋给它:

var m=rl.job_file.find(id)   //根据id查询之前选的值
var model=new jobmodel();  //定义多选下拉框的model
model.Postlist=bind_post();  //需要先绑定值,然后再赋值
model.Postlist=Array.ConvertAll<string, int>(Utils.ObjToStr(m.post).Split(','), s => Utils.ObjToInt(s, 0));//从数据库里面查询到以逗号隔开的职位值,Util是写好的值类型转换的类,方便一些值的转换

 

posted @ 2017-06-27 15:41  百变小樱007  阅读(2459)  评论(0编辑  收藏  举报