剃刀如果我有类似的东西:
@ Html.EditorFor(model => model.name)或甚至:@ Html.CheckBoxFor(m => m.RememberMe)
我如何向他们添加css类或id?我一直在阅读帮助者,但我是否必须为每一个元素做一个帮手?没有简单的方法可以为razor表单元素添加类或id?
解决方法
你不能仅仅因为你不知道将使用什么模板而使用EditorFor帮助器.您可以实现它,但您需要编写自定义编辑器模板.例如,这可以通过覆盖
default editor template
并考虑表示附加视图数据的第二参数来实现.
下面是一个示例,说明这样的自定义编辑器模板如何查找字符串类型(〜/ Views / Shared / EditorTemplates / string.cshtml):
@Html.TextBox( "",ViewData.TemplateInfo.FormattedModelValue,ViewData )
然后你就可以这样使用它:
@Html.EditorFor(model => model.name,new { @class = "myclass" })
使用CheckBoxFor助手,您可以这样做:
@Html.CheckBoxFor(m => m.RememberMe,new { @class = "myclass" })