ASP.NET无法检测IE10浏览器,导致无法登录

今天发现在IE10中打开我开发的网站时,无法登入,页面总会自动重新退出到登录页,后经上网查资料发现这是ASP.NET 2.0、3.5和4.0的Bugs,因这些版本的.NET Framework无法识别IE 10浏览器的如下用户代理字符串:

Mozilla/5.0 (兼容 ;MSIE 10.0;Windows NT 6.1;Trident/6.0)

所以无法识别用户浏览器的版本,默认作降级处理,导致用户在使用IE 10浏览器访问如上技术的网站时遇到问题,比如不支持JavaScript特性,“_doPostBack 未定义”,无法获取Cookie从而无法登陆等等。

微软官方已经确认该问题,发布KB文章进行了详细描述并给出两个补丁来永久解决这个问题,还声称要在下一版本的.Net Fremework中默认包含这个补丁。微软的Scott Hanselman同时为大家提供了单站点修复方案,详情请参考
http://blogs.msdn.com/b/scott_hanselman/archive/2011/10/28/asp-net-ie10-dopostback-javascript-ff5.aspx

微软官方补丁描述文章及下载链接
http://support.microsoft.com/kb/2600100/zh-cn

posted @ 2013-07-09 21:50  Wave San  阅读(258)  评论(0编辑  收藏  举报