MVC3 模型 - 如何使其成为一个下拉菜单?

Kyl*_*yle 3 asp.net-mvc razor asp.net-mvc-3

我正在制作一个 MVC4 Web 应用程序,供两所大学的同行使用,稍后我将扩展到其他学校。在我的模型中,我目前有

       public string school { get; set; }
Run Code Online (Sandbox Code Playgroud)

我希望这样当我这样做时

       @Html.EditorFor(model => model.school)
Run Code Online (Sandbox Code Playgroud)

这将是“学校 1”和“学校 2”的下拉菜单。

我怎样才能干净利落地做到这一点?如果可以的话,我希望能够在模型中进行更改,而除了调用 @Html.EditorFor 之外,不必在视图中执行任何操作。如果实现此目的的唯一方法是在视图中执行某些操作,那也可以。

Wou*_*ort 5

而不是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)
Run Code Online (Sandbox Code Playgroud)