我在ASP.NET MVC中使用EnumDropDownListFor
:
@Model.PhoneNumberType
@Html.EnumDropDownListFor(model => model.PhoneNumberType, new {@class = "form-control"})
这不会预先选择下拉列表中enum
的值。
如果我只显示enum
值,则会显示正确的enum
值。
DropDown始终设置为下拉列表中的第一个值,但不设置为enum
字段的值。
如何配置EnumDropDownListFor
以使用enum
字段的值预先选择下拉列表?
答案 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);
}
}