mvc3 - 根据模型属性添加CSS类

Sni*_*fer 1 c# razor asp.net-mvc-3

我有一个像这样的模型元素:

[Required]
[Display(Name = "First name")]
[StringLength(50)]
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)

我正在使用EditorFor将其抽出到页面,如下所示:

@Html.EditorFor(x => x.FirstName )
Run Code Online (Sandbox Code Playgroud)

我在页面上有很多这些元素,并且希望根据模型是否具有[Required]属性,将CSS类添加到名为"Required"的输入字段中.

添加...

@Html.EditorFor(x => x.FirstName, new { @class = "Required" }) )
Run Code Online (Sandbox Code Playgroud)

...似乎有点手动.有没有办法动态地做到这一点?

提前致谢

Dar*_*rov 6

看起来有点手册.

最重要的是没有工作.与EditorFor助手相反,帮助器的第二个参数不会按照您的想法执行TextBoxFor.您可以编写一个自定义元数据提供程序,它允许您使用自定义属性修饰我们的视图模型属性,并指定要应用于编辑器模板的类:

[Required]
[Display(Name = "First name")]
[StringLength(50)]
[HtmlProperties(CssClass = "Required")]
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)