MVC3 模型 - 如何使它如此编辑器是一个下拉列表



我正在为2所大学的同龄人制作一个MVC4网络应用程序,稍后我将扩展到其他学校。在我的模型中,我目前有

       public string school { get; set; }

当我这样做时

,我希望它
       @Html.EditorFor(model => model.school)
这将是"学校

1"和"学校 2"的下拉菜单。

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

您可以使用Html.DropDownListFor而不是Html.EditorFor

@{
   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)

您可以使用上面的代码,也可以在页面中使用此代码。

@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" })

这肯定会对您有所帮助,当您选择其中任何一个时,您可以在模型中获得价值。

相关内容