2011-01-12 39 views
5

在ASP.NET MVC中使用模板助手时,例如Html.EditorFor(x => x.Property)呈现的Html具有大写的ID - 与我的属性名称匹配。ASP.NET MVC模板助手 - 如何获取小写的ID

为了标准化所有html元素的ID我希望这是小写。而不是手动指定ID--如果我重命名属性,则不会更新,我想建立一个约定。

我确信我读过这个可能在某处,我目前正在扫描interwebz找到它。但如果任何人都可以帮助我并节省时间,那就太棒了。

+0

这是一个很大的收获很多工作。如果您担心使用javascript或jquery选择器标准化访问权限会考虑如果您更改属性名称,则仍然必须调整jquery。 – jfar 2011-01-12 14:54:47

回答

0

目前ASP.NET MVC不提供任何的扩展点,让您做到这一点。

0

您可以扩展Html.EditorFor;这tutorial可以让你开始。

或者你用这样的:

Html.EditorFor(x => x.Property).ToString().ToLower() 
+0

谢谢你。我希望理想情况下甚至不需要这样做。我很确定我已经看到了一种方法来做到这一点。尽管对这个问题磕磕绊绊的其他人发表了好评。 – nick 2011-01-12 11:33:48

+0

这不起作用:`EditorFor`返回IHtmlString`,但将其转换为字符串将导致其未来的html编码(至少在MVC 3中)。解决方法是`(new HtmlString(Html.EditorFor(x => x.Property).ToString()。ToLower())`。 – 2011-01-12 14:53:27