7

编辑:该站点位于 Windows Server 2003 上,因此无法升级到 .NET Framework 4.5。

我们的网站在 .NET 4 上为 ASP.NET 提供服务。使用 IE 11 时,自动回发停止工作,并出现错误“_doPostBack 未定义”。很可能可以通过对浏览器定义文件进行一些修改来修复它,我还不知道如何。

Microsoft 建议进行功能检测(首选),或更改浏览器定义文件。 http://msdn.microsoft.com/en-us/library/IE/hh869299%28v=vs.85%29.aspx

看起来特征检测意味着一起放弃自动回发。这不就像重写整个网站一样吗?

有人可以描述如何完成特征检测和浏览器定义文件修改吗?首选哪种方式以及原因。

接受的答案解决了这个问题,如果你被困在服务器 2003 上,这似乎是唯一的方法。如果有人能解释如何在没有大量代码更改的情况下完成特征检测,那将是非常好的。

4

4 回答 4

6

似乎 Windows Server 2003 需要一个服务器范围的解决方案,并且所有的修补程序都不起作用,所以必须手动完成。

  1. 编辑 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\Browsers 并在此答案中添加浏览器定义https://stackoverflow.com/a/19203518/1297563
  2. 运行 c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regbrowsers.exe -i
  3. 重新启动 IIS
于 2013-11-08T09:12:26.257 回答
3

将您的 .NET Framework 升级到 4.5

安装后运行命令:

aspnet_regbrowsers -i
于 2013-11-22T16:56:06.293 回答
2

@FrogCoder

我昨天遇到了这个问题 - 补丁 2836939 解决了我的问题。视窗 8.1 IE11。

请考虑 Hotfix URL 中的以下内容:

“注意如果您在安装更新后运行 ASP.NET 浏览器注册工具 (Aspnet_regbrowsers.exe),则会返回旧行为。”

http://support.microsoft.com/kb/2836939

希望这可以帮助。

于 2013-11-08T10:26:20.470 回答
1

在您的母版页中放置以下脚本将修复它。我有一个类似的问题并得到了修复。

<script runat="server">

protected override void OnInit(EventArgs e)
{
Page.ClientTarget = "uplevel";
base.OnInit(e);

}
</script> 
于 2014-10-29T16:04:11.407 回答