繁体   English   中英

.NET 4上的ASP.NET导致IE11抛出_doPostBack是未定义的javascript错误

[英]ASP.NET on .NET 4 causing IE11 throw _doPostBack is undefined javascript error

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

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

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

看起来像功能检测意味着一起丢弃自动回发。 这不就像改写整个网站一样吗?

有人可以描述如何完成功能检测和浏览器定义文件修改吗? 哪种方式是首选的,为什么。

接受的答案解决了这个问题,看起来这是唯一的方法,如果你被卡在服务器2003上。如果有人能解释如何在没有大量代码更改的情况下完成功能检测,那真的很不错。

似乎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

将.NET Framework升级到4.5

安装后运行命令:

aspnet_regbrowsers -i

@FrogCoder

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

请从修补程序URL中考虑以下内容:

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

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

希望这可以帮助。

将脚本放在母版页下面将修复它。 我有一个类似的问题,并得到修复。

<script runat="server">

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

}
</script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM