public ActionResult Index()
{
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "wenbin", Value = "1" });
items.Add(new SelectListItem { Text = "duying", Value = "2" });
items.Add(new SelectListItem { Text = "baby", Value = "3", Selected = true });
ViewData["register"] = items;
List<SelectListItem> newItem = new List<SelectListItem>();
string[] str = ConfigurationManager.AppSettings["test"].Split(',');
foreach (var m in str) {
newItem.Add(new SelectListItem { Text = m, Value = m});
}
ViewData["newItem"] = newItem;
return View();
}
在视图中可以直接这样
@Html.DropDownList("register")
@Html.DropDownList("newItem1", (List<SelectListItem>)ViewData["newItem"], new { @class = "from" })
第一个直接把值在list 直接写出来了,第二个是把值存在web.config中,然后再取出来,数据便于统一管理。
存在web.config中的代码,就是找到appsetting节点,写一个add
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="test" value="mm,kk,ll" />
</appSettings>
后期前台设计人员特殊需要估计dropdown还不能直接在view中用那种写法,后期再说。。先学个从web.config中取值。
///
各种bug,反正有时候这样绑定的时候,出现什么system.string不能Ienumber<>的时候,在post action中在吧那个viewdate在写一遍
2015年3月4日23:30:57
view:
@Html.DropDownList("selected", ViewData["TherapeuticArea"] as IEnumerable<SelectListItem>,new { @class = "form-text form-control" })
action
this.ViewData["TherapeuticArea"] = _commonService.GetSelectList("TA"); ;
this.ViewData["selected"] = entity.TherapeuticArea;//默认的选中项,前台dropdown第一个参数就不是name了,而是selected...