ASP.NET MVC Html.EnumDropDownListFor选定值

时间:2016-06-16 14:11:43

标签: c# asp.net-mvc razor enums

我在ASP.NET MVC中使用EnumDropDownListFor

 @Model.PhoneNumberType

 @Html.EnumDropDownListFor(model => model.PhoneNumberType, new {@class = "form-control"})

这不会预先选择下拉列表中enum的值。 如果我只显示enum值,则会显示正确的enum值。 DropDown始终设置为下拉列表中的第一个值,但不设置为enum字段的值。

如何配置EnumDropDownListFor以使用enum字段的值预先选择下拉列表?

1 个答案:

答案 0 :(得分:5)

您唯一应该做的就是在传递模型时设置枚举值。

一个小例子(默认选择Test2):

<强>模型

    public class ModelTest
    {
        public EnumTest EnumTest { get; set; }
    }

    public enum EnumTest
    {
        Test1,
        Test2,
        Test3
    }

查看

@model WebApplication3.Models.ModelTest

<div>
    @Html.EnumDropDownListFor(model => model.EnumTest, new { @class = "form-control" })
</div>

控制器

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        ModelTest model = new ModelTest {EnumTest = EnumTest.Test2};
        return View("View",model);
    }
}