默认情况下
<%: Html.EditorFor(m => m.ConfirmationHeadline) %>
输出是:
<input type="text" value=""
name="ConfirmationHeadline" id="ConfirmationHeadline"
class="text-box single-line">
如您所见,输入已经附加了
class
属性。嗯,这应该不是问题,只需使用<%: Html.EditorFor(m => m.ConfirmationHeadline, new { @class="span-11 last"}) %>
并且应该可以工作... 错……不!
这将输出完全相同的代码!
不过,与
Html.TextAreaFor()
一起工作正常如何删除类
text-box single-line
从曾经出现所以可以附加我自己的类(class)?我应该编辑任何 T4 模板?谢谢大家的帮助。
最佳答案
通过 EditorFor
使用内置编辑器模板时,无法自定义发出的类属性的值。方法。它对类值进行硬编码(此处提供更多信息:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html)
您有两个选择:
EditorFor
的输出方法: <%: new HtmlString(Html.EditorFor(m=>m.ConfirmationHeadline).ToString()
.Replace("class=\"text-box single-line\"",
"class=\"text-box single-line span-11 last\"")) %>
关于asp.net-mvc-2 - 在 `Html.EditorFor` 上覆盖类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078968/