我正在mvc3 c#中实现一个后台,我希望有一个字段是一个包含3个字段“ComingSoon,Out,Showing”的下拉列表。这些字段不是任何类的一部分。我必须创建一个帮助类吗? 我试过以下
<% List<string> foo = new List<string>();
foo.Add("Showing");
foo.Add("ComingSoon);"
foo.Add("Out");
Html.DropDownList(foo, Model.Status); %>
状态是数据库中需要更新的字段。
答案 0 :(得分:4)
Html.DropDownList("Status",
new SelectListItem[]{ new SelectListItem{ Text= "Showing", Value="Showing"},
//same for others
});
答案 1 :(得分:1)
由于你正在使用模型绑定,我建议:
<%: Html.DropDownListFor(model=> model.Status,
new List<SelectListItem>() {
new SelectListItem{ Text= "Showing", Value="Showing"},
new SelectListItem{ Text= "ComingSoon", Value="ComingSoon"},
new SelectListItem{ Text= "Out", Value="Out"}
}); %>
对于模型绑定,总是使用末尾的“For”,它会使Post方法更容易+如果名称不存在,您将得到反馈。
答案 2 :(得分:0)
您可以通过这种方式创建下拉列表。
@{
List<KeyValuePair<int, string>> dropdownList =
new List<KeyValuePair<int, string>>();
dropdownList.Add(new KeyValuePair<int, string>(0,"Showing"));
dropdownList.Add(new KeyValuePair<int, string>(1,"ComingSoon"));
dropdownList.Add(new KeyValuePair<int, string>(2,"Out"));
SelectList selectList = new SelectList(dropdownList, "key", "value", 0);
}
@Html.DropDownList("foo", selectList)