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是写好的值类型转换的类,方便一些值的转换