最近做网站的时候,遇到.net2.0做的网站,在ie10不能很好的显示出来,经过很长时间,总结如下:
虽说IE10如今才只是发布了第二个平台预览版,公开测试版的日期还不确定,不过微软已经为IE10用户发布了第一个兼容性补丁,主要是针对安装了NET Framework 2.0 SP2和NET Framework 3.5 SP1的用户,该补丁将帮助ASP.NET识别新版IE的用户代理字符串。
用户代理字符串即User Agent String,通常简称UA。UA被广泛用来标识浏览器客户端信息,主要用于网站识别用户客户端信息,不同的浏览器会有不同的UA作为自身的标志。由于IE10处于预览测试阶段,并且只支持windows 7和Windows 8,一些原有的Web开发技术还不能很好的识别它。
微软表示:“使用IE10访问ASP.NET网页时,网页将提示回发出现故障,并且用户会收到以下错误消息:脚本遇到错误","'__doPostBack' 是未定义。”
对此,微软给出了以下解释:
“默认情况下ASP.NET检测浏览器使用监听技术的用户代理字符串。浏览器定义文件覆盖一定范围的浏览器版本。然而,随着版本号的增长,ASP.NET可能无法识别新版本浏览器所使用的用户代理字符串。在此情况下,ASP.NET可能为未知的浏览器中处理这些版本。
官方下载:
http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2600100&kbln=zh-cn
总而言之,下载这个补丁,安装即可。