Razor中的Enum Dropdown值必需错误

时间:2015-03-26 20:18:22

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

有没有办法让enum的下拉列表可选?如果表单上没有此下拉列表的值,ModelState.IsValid将评估为false,并显示此下拉列表需要值的错误。我没有在此属性上明确使用[Required]属性。

@Html.EnumDropDownListFor(m => m.People[0].Role, "Select a role", new { @class = "form-control role" })

枚举是:

public enum RoleType { Employee, Visitor, Vendor, Witness }

2 个答案:

答案 0 :(得分:1)

属性是m.People [0]。在您的模型中可以为空。您可以将RoleType设置为可为空,这应该删除验证错误。

public RoleType? Role {get;set;}

答案 1 :(得分:0)

似乎有一种方法可以使用类似

之类的东西从ModelState中删除特定属性
ModelState.Remove("nameOfProperty");

此信息在以下链接的另一个Stackoverflow帖子中找到

ModelState.IsValid does not exclude required property

不确定这是否与您的问题直接相关,但希望这会有所帮助。