1.视图
@Html.LabelFor(m => m.Positions, new { @class = "col-sm-2 control-label" })@Html.ListBoxFor(model => model.Positions,new MultiSelectList(Model.Postlist,"Id", "Name"), new { @class = "form-control select2", multiple = "multiple", style = "width: 100%;" })@Html.ValidationMessageFor(m => m.Positions, "", new { @class = "text-danger" })
在控制器中保存多选的值:
var post=string.Join(",", model.Positions); //多选是以逗号隔开的
当修改多选下拉框的时候,需要将原来选的值赋给它:
var m=rl.job_file.find(id) //根据id查询之前选的值var model=new jobmodel(); //定义多选下拉框的modelmodel.Postlist=bind_post(); //需要先绑定值,然后再赋值model.Postlist=Array.ConvertAll(Utils.ObjToStr(m.post).Split(','), s => Utils.ObjToInt(s, 0));//从数据库里面查询到以逗号隔开的职位值,Util是写好的值类型转换的类,方便一些值的转换