Javascript 防止ASP.NET MVC在Html帮助程序ID中用下划线替换句点
刚升级到最新的ASP.NET MVC候选发行版,我注意到,在使用Html帮助程序时,当输出元素的ID时,任何带有句点“.”的名称都将被下划线“389;”替换 我相信这是正确的,使用句号是为了帮助使用ModelBinder。这破坏了我们使用原型的所有javascript,因为ID都改变了Javascript 防止ASP.NET MVC在Html帮助程序ID中用下划线替换句点,javascript,jquery,asp.net-mvc,prototype,Javascript,Jquery,Asp.net Mvc,Prototype,刚升级到最新的ASP.NET MVC候选发行版,我注意到,在使用Html帮助程序时,当输出元素的ID时,任何带有句点“.”的名称都将被下划线“389;”替换 我相信这是正确的,使用句号是为了帮助使用ModelBinder。这破坏了我们使用原型的所有javascript,因为ID都改变了 有没有办法轻松关闭此功能?来自ASP.NET MVC RC1发行说明(第15页) 在本版本中,默认情况下,点 字符被自动替换 在 ID属性。因此,示例文本框 呈现以下标记: 改变现状 默认替换字符,您可以 设定
有没有办法轻松关闭此功能?来自ASP.NET MVC RC1发行说明(第15页) 在本版本中,默认情况下,点 字符被自动替换 在 ID属性。因此,示例文本框 呈现以下标记:
改变现状
默认替换字符,您可以
设定
HtmlHelper.IDDotReplacementChar
属性设置为您指定的角色
我想改用
仅供参考。查看处的源代码,RC1中属性的真实名称似乎是IdAttributeDotReplacement。下面是相关的代码片段。要保留点,只需将此属性设置为点字符——即,将点字符替换为自身
public static string IdAttributeDotReplacement {
get {
if (String.IsNullOrEmpty(_idAttributeDotReplacement)) {
_idAttributeDotReplacement = "_";
}
return _idAttributeDotReplacement;
}
set {
_idAttributeDotReplacement = value;
}
}
这似乎是一种奇怪的方法——假设它是为了帮助JQuery默认设置。我添加了HtmlHelper.IDAttributedToReplace=“.”;到全局应用程序启动,我们在8分钟后重新联机;)谢谢