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是寫好的值類型轉換的類,方便一些值的轉換