Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止ASP.NET MVC在Html帮助程序ID中用下划线替换句点_Javascript_Jquery_Asp.net Mvc_Prototype - Fatal编程技术网

Javascript 防止ASP.NET MVC在Html帮助程序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候选发行版,我注意到,在使用Html帮助程序时,当输出元素的ID时,任何带有句点“.”的名称都将被下划线“389;”替换

我相信这是正确的,使用句号是为了帮助使用ModelBinder。这破坏了我们使用原型的所有javascript,因为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分钟后重新联机;)谢谢