3个月前客户升级IE10访问原先正常的asp.net站点, 发现linkbutton失效, 调试后发现少了_doPostBack 函数, 好端端的怎么就没有了了? 搜索之后, 知道是asp.net对IE10渲染的问题的bug, .NET2.0和.NET 4.0都有这样的问题.

参考文章:

http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx


文章中的解决办法:

1.机器级别修复, 服务器所有ASP.NET程序受益

需要去微软下载对应asp.NET版本的修补程序


.NET 4 -http://support.microsoft.com/kb/2600088

.NET 2.0

http://support.microsoft.com/kb/2600100for Win7 SP1/Windows Server 2008 R2 SP1, Windows Vista/Server 2008, Windows XP/Server 2003

http://support.microsoft.com/kb/2608565for Win7/Windows Server 2008 R2 RTM

2.仅仅修复单个站点

下载IE.browser文件, 地址http://www.hanselman.com/blog/content/binary/App_BrowsersUpdate.zip, 将其中的 ie.browser 拷贝到站点的app_browsers目录下(我仅仅修复了NET2.0的项目)

其它事宜请参考上面链接文章.


今天同事的IE10访问采用asp.net 实现 ICallbackEventHandler 接口的页面, 出现WebForm_DoCallback未定义的问题, 而之前在IE7/8/9下都是正常的, 查看HTML源码发现, ASPNET并没有生成相关的脚本资源文件, 隐藏域, 但是修改IE10的兼容模式为IE9/8/7, 页面就又会正常, 想起来几个月前上面解决的问题, 于是将ie.browser文件放入到服务器站点APP_Browser目录下, 问题解决.:)


附件为更新文件.