EditorFor的Html(5)属性

时间:2013-03-22 09:43:19

标签: asp.net-mvc asp.net-mvc-3 html5 razor

我知道这已经讨论了很多次。

我想使用

@Html.EditorFor(u => u.Password, new { required = "required" })

不幸的是,默认情况下这是不可能的,因为EditorFor会覆盖Html属性。

我不想使用TextBoxFor,因为我希望根据DisplayFormat属性格式化值。

有没有解决方案?

2 个答案:

答案 0 :(得分:10)

您可以为字符串类型(~/Views/Shared/EditorTemplates/string.cshtml)编写自定义编辑器模板:

@Html.TextBox(
    "", 
    ViewData.TemplateInfo.FormattedModelValue,
    ViewData
)

然后:

@Html.EditorFor(u => u.Password, new { required = "required" })

将按预期工作。

答案 1 :(得分:-1)

不确定它是一个选项,但您可以将[必需]作为属性装饰器放在模型上。