您的位置:首页 > 编程语言 > ASP

asp.net关于页面不回发,不生成__doPostBack方法问题的完美解决方案

2016-10-06 16:33 375 查看
来源:http://www.cnblogs.com/LCX/p/4472801.html

1.有可能是使用net4.0+iis6之后没有打补丁。

解决办法

在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失.     后查实这是ASP.NET 2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功能,不处理与Cookie相关的程式码等,从而在浏览器中不保存服务器返回的Session标识,造成丢失等.

      这个问题早经微软官方确认,是IE10的一个Bug,也发布了两个HOTFIX专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明:
KB2600088: Hotfix 适用在 Microsoft.NET Framework
4.0 中的 ASP.NET [英文]
KB2608565: Hotfix 适用在 .NET Framework 3.5.1
中的 ASP.NET [英文]
KB2600100: Hotfix 适用在 .NET Framework 3.5
SP1 与 .NET Framework 2.0 SP2 中的 ASP.NET [英文]

2.简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file)

     步骤如下:

     1.添加一个"App_Browsers"文件夹

     2.添加一个"*.browser"后缀的文件,如IE10.browser.

     3.添加文件内容如下:

 

  

设定完成,问题即可解决,本方法同时也适用于处理asp.net中控件事件回发操作无效问题。

这是网上最常见的一种了,

不过这个方法其实不需要打补丁,只需要设置这App_Browsers个文件夹就行了

我亲自测试过是可以解决问题的

 

原文地址:http://www.sufeinet.com/thread-4564-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐