2

在我的 ASP.NET MVC4 模型中,我有一个必需的属性:

[Required(ErrorMessage = "Select a class")]
public string ClassName { get; set; }

这绑定到 Razor 视图中的下拉列表:

@Html.DropDownListFor(o => o.ClassName, new SelectList(Model.ClassList))
@Html.ValidationMessageFor(model => model.ClassName)

但是,我已将 的第一个元素设置Model.ClassList为占位符 string "Select one"。如果用户在没有选择类的情况下提交表单,它会注册为有效,因为ClassName它的值为"Select one".

如何使此占位符选择无效?

4

1 回答 1

5

您可以从 Model 属性中删除占位符并将其放入帮助程序中:

@Html.DropDownListFor(o => o.ClassName, new SelectList(Model.ClassList), "Select one") 
于 2013-02-12T22:10:26.800 回答