MVC3的问题

1、MultiSelectList多选问题。

在控制器中生成MultiSelectList,如:

1
var m = container.FlowNode.Where(f => f.FlowNode_ID == ID).FirstOrDefault();<br>List<FormDataItemMapping> listFDIM =m.FlowTable.FormTemplate.FormDataItemMapping.ToList();<br>ViewBag.userTablesSL=new MultiSelectList(listFDIM, "FormDataItemMapping_ID", "FormDataItemMapping_Title", m.FormDataItemMapping.ToList());

 在前台进行绑定,如:

1
@Html.ListBox("usertable2222", (MultiSelectList)ViewBag.userTablesSL)    

 前台无法进行多选,查了很多资料都没有查看原因。最后只得自己封装方法生成IEnumerable<SelectListItem>对象,在前台绑定。

1
@Html.ListBox("usertable2222", (IEnumerable<SelectListItem>)ViewBag.userTablesSL)    

 2、MultiSelectList多选int型会出现无法多选的情况。

1
2
3
4
5
6
7
8
9
10
后台:<br>var a1 = new List<int>();
            a1.Add(1);
            a1.Add(2);
            a1.Add(3);
            ViewBag.a1 = a1;
            var a2 = new List<int>();
            a2.Add(2);
            a2.Add(3);
            ViewBag.a2 = a2;
            ViewBag.ssss= new MultiSelectList(a1,a1);<br><br>前台:<br> @Html.ListBox("xxx", (MultiSelectList)(ViewBag.ssss))<br>   此种情况,无select未多选,若上面的a1是string类型,则就没有问题<br>   @Html.ListBox("aaa", new MultiSelectList((List<SelectListItem>)ViewBag.s1, (List<string>)ViewBag.s1))<br>

 3、前台HtmlHepler标签与后台的ViewBag中的值有重复的,会出现select无法多选的问题。

1
后台:<br> ViewBag.flowNodesSL = GenerateMutiSelectList(m.FlowTable.FlowNode.ToList(), "FlowNode_ID", "FlowNode_Name", m.FlowNode1.ToList());<br>前台:<br>@Html.ListBox("flowNodesSL", (IEnumerable<SelectListItem>)ViewBag.flowNodesSL) select未多选<br>@Html.ListBox("flowNodesSL222", (IEnumerable<SelectListItem>)ViewBag.flowNodesSL) 

 

 

 

 

1
  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。