我在MVC4项目中使用了Html.TextBoxFor帮助器。我们的网页设计师在他的框中使用了“错误类型”的自定义属性,jquery / javascript查看该框以确定应该如何为该文本框呈现错误。
我尝试过这样的事情:
@Html.TextBoxFor(m => m.SomeValue, new { error-type="blue" });
但是C#不喜欢“错误类型”的属性名称。
有没有办法在通过Razor渲染时使用自定义属性?
答案 0 :(得分:1)
使用下划线;帮助器将包含下划线的属性名称转换为破折号。仅供参考,我相信这只适用于MVC-3或更高版本。
另一种方法是使用接受IDictionary<string, object>
HTML属性的重载。这将是向前和向后兼容的。
@Html.TextBoxFor(m => m.SomeValue, new Dictionary<string, object>{{"error-type", "blue"}})