要绑定listbox或dropdownlist前提是:
必须是SelectItem类,例如:
因为Html.ListBox第二个绑定数据的参数要得类型为SelectList
第一种:
因为listbox可以自动检索viewdata或viewbag中同名的数据包,例如:
在Controller文件中代码:
ViewBag.scorelist
= list;或ViewData["scorelist "]=
list
在View页面调用时:
直接:<%:Html.ListBox("scorelist
")%>就可以(要保证前后名字一样)
(并且这个“scorelist”也会作为标签的id和name的名称)
第二种:
不利用同名检索,但这里需要把原有的list做些改变,代码如下:
ViewData["sel1"]
= new SelectList(list, "Value",
"Text");
调用时:
<%:Html.ListBox("listbox1",
(SelectList)ViewData["sel1"]),这里需要注意的是,即使你后台传的是SelectList类型,前台也一样要转换。
如果要给listbox添加样式,代码如下:
<%:Html.ListBox("sel2", (SelectList)ViewData["sel1"], new { style =
"height:200px" })%>
也可以利用检索同名的:
<%:Html.ListBox("scorelist ", null,
new { style = "height:200px" })%>