我正在为2所大学的同学制作一个MVC4 webapp,后来我将扩展到其他学校。在我的模型中,我目前有
public string school { get; set; }
当我这样做时,我会这样做
@Html.EditorFor(model => model.school)
这将是“学校1”和“学校2”的下拉。
我怎样才能干净利落地做到这一点?如果可以,我希望能够在模型中进行更改,除了调用@ Html.EditorFor之外,不必在视图中执行任何操作。如果实现这一目标的唯一方法是在视图中执行某些操作,那也没关系。
答案 0 :(得分:4)
您可以使用Html.EditorFor
Html.DropDownListFor
@{
var items = new SelectList(new[]
{
new SelectListItem {Text = "School1", Value = "School1"},
new SelectListItem {Text = "School2", Value = "School2"},
}, "Text", "Value");
}
@Html.DropDownListFor(x => x.school, @items)
答案 1 :(得分:0)
您可以使用以上代码,也可以在页面中使用此代码。
@Html.DropDownListFor(model => model.Status, new List<SelectListItem>
{
new SelectListItem{ Text="New", Value = "New" },
new SelectListItem{ Text="InProcess", Value = "InProcess" },
new SelectListItem{ Text="Completed", Value = "Completed" },
new SelectListItem{ Text="Rejected",Value="Rejected"},
}, "Select Status", new { @class = "form-control select2_demo_4" })
这肯定会帮助您,选择任何模型都可以在模型中获得价值。