@Html.DropDownList
的使用
在一般情况下使用的是DropDownListFor
,这个可以直接跟后台返回视图的model绑定(m=>m.需绑定的字段
),并且下拉框会自动选中与该字段匹配的值;
这次遇到一个问题就是,表单需要用到的是两张数据表,后台却只能返回一个model,我就只返回了一个数据字段多的表,另一个表使用的ViewBag
返回到视图,这里就不能使用DropDownListFor
,只能使用DropDownList
了。
使用DropDownListFor简单多了,使用三个参数重载的,第一个参数表达式列出需要使用的字段。第二参数下拉框的数据来源,第三个参数就是下拉框的基本属性设置了;
后台把数据查出来返回List<SelectListItem>
,SelectListItem
应该是MVC自带的实体对象,里面只有三个参数,Text下拉框显示值,Value下拉框取值,Selected下拉框是否默认选择该值
后台代码:
ViewBag.typeList = Context.tb_base_public_type.Where(a => a.name.Equals("企业类型"))
.Select(a => new SelectListItem {Text = a.value, Value = a.value}).ToList();
<