ASP.NET无法检测IE10,导致_doPostBack未定义的JavaScript错误。

9
ASP.NET无法检测IE10,导致出现以下错误:
_doPostBack未定义的JavaScript错误
或者保持FF5滚动条位置。
.NET 2.0和.NET 4随附的浏览器定义文件存在错误,即它们包含某些浏览器版本范围的定义。但是一些浏览器(如IE 10)的版本不再在这些范围内。因此,ASP.NET将其视为未知浏览器,并默认为下级定义,这具有某些不便之处,例如它不支持JavaScript等功能。
Win7 SP1的http://support.microsoft.com/kb/2600100修复方法对我无效。请帮助我解决这个问题。我的工作环境是:
.NET Framework 3.5 SP1,Windows Server 2003

热补丁的摘要提到它支持Windows Server 2003和Microsoft .NET Framework 3.5 Service Pack 1(SP1),这是您的环境,对吗? - Elijah Manor
4个回答

1
KB 2600100 热修补程序已被微软 .NET Framework 4 可靠性更新2 (KB 2600217) 取代 http://support.microsoft.com/kb/2600217 - 文档说明此更新解决了7个问题,包括您提到的其中两个。但是,似乎您需要使用 Microsoft .NET Framework 4 而不是 3.5。如果 KB 2600100 热修补程序无法正常工作,您可能需要检查 IIS 服务器管理器,以找出运行您的网站所使用的 .NET Framework 版本。

1
尝试从NuGet http://nuget.org/packages/App_BrowsersUpdate 安装浏览器定义文件到您的项目中。ASP.NET 4的浏览器定义文件与ASP.NET 3.5兼容,所以您应该没问题。如果您在计算机上没有适当的权限,则可能会出现安装热修复程序时出现问题的情况。

1

考虑添加小的代码片段而不是链接到另一个网站。如果该链接失效,您的答案将毫无价值。 - MikeSmithDev

0
我在我们的网站上应用了第一个临时修复方法,即将“<meta http-equiv="X-UA-Compatible" content="IE=edge">”添加到主页面中。但我不想强制使用此模式来维护其余的网站,我需要一个合适的解决方案。我从主页面中删除了修复程序,并安装了KB2600100的热补丁,但问题并没有消失。最后,我应用了Ronnie提供的脚本,这才解决了问题。
尽管如此,我仍然想知道为什么热补丁没有起作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接