【问题标题】:Asp Net 2.0 - Validators, IE10, and Old JavascriptAsp Net 2.0 - 验证器、IE10 和旧 Javascript
【发布时间】:2013-10-25 15:42:26
【问题描述】:

我在 Internet Explorer 10 中使用 ASP .NET 的 RequiredFieldValidators,如果重要的话,文档模式是 IE5 Quirks,但 WebResource.adx 中的控件生成的 javascript 已过时 IE10。它尝试使用类似于

的方式检索属性
element.attribute

代替标准

element.getAttribute(attributeName)

因此,由于未定义的值,代码无法成功运行,并且无论如何都会验证控件为真。

我认为问题可能来自这样一个事实,即 ASP 无法检测到 IE10,因为它超出了其定义的浏览器版本。在你说什么之前,是的,我知道微软有可用的修补程序,但由于工作规则,我无法在我的机器上安装它。

所以我的问题如下: 更新 ie.browser 定义文件会解决这个问题吗? 如果是这样,我必须对文件进行哪些更改? (请记住,我是手动更改文件。)

知道 asp.net 从 webuivalidation.js 生成 webresource.axd 并且它包含该行可能会有所帮助

Page_ValidationVer = 125;

我不知道这是不是最新版本。如果没有,我怎么能得到最新的?

【问题讨论】:

    标签: javascript asp.net validation internet-explorer-10 jscript


    【解决方案1】:

    还不如回答我自己的问题。

    IE10 不能与浏览器定义文件无关的原因。相反,问题是在 web.config 文件中引起的,其中选项 xhtmlconformance = true。 (当您从 asp.net 1.0 迁移到 2.0+ 时,它会自动设置为 true)此选项允许项目继续运行遗留代码,但代价是不生成完全现代的代码。结果,它使项目为验证器生成了在 IE10 中不再有效的遗留代码。只需将 xhtmlconformance 的值更改为 false 即可解决此问题,但如果项目不是最新的,请准备好破坏项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-23
      • 2011-05-02
      • 2021-06-15
      • 1970-01-01
      相关资源
      最近更新 更多