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

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专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明:

2.简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file)
     步骤如下:
     1.添加一个"App_Browsers"文件夹
     2.添加一个"*.browser"后缀的文件,如IE10.browser.
     3.添加文件内容如下:

<browsers>  

       <browser refID="Default">  

          <capabilities><!-- To avoid wrong detections of e.g. IE10 -->  

             <capability name="cookies" value="true" />  

            <capability name="ecmascriptversion" value="3.0" />  

        </capabilities>  

        </browser>  

       </browsers>

  

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

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

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

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

原文地址:http://www.sufeinet.com/thread-4564-1-1.html

时间: 2024-08-08 20:01:28

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

页面的回发与回传

页 面事件顺序是固定的,但页面上的控件事件则依靠详细页面和用户的操作.假如控件的AutoPostBack属性配置为true(默认值为false),那 么将立刻惹起页面回发,即页面中各个控件的值回传到Web服务器上,引发相应事件,由事件的处理程序处理.处理完成后假如没有跳转指令,该页面将再此发送 到客户端的阅读器上.假如控件的AutoPostBack属性配置为false,那么它的事件将不会一发生就马上回传,而要等到像Button Click这样的回传事件发生,才一并回传.期间可能有多个事件被暂存在

解决ASP.NET页面回车回发的问题

在asp.net页面中在文本框.按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValue = false;  但是这只能适用于IE,有些浏览器是不支持event.keyCode的,例如:火狐就是使用evt.which. 这里给大家一个方案,使用后感觉还行,如果有问题请多多包涵,给出建议: 页面代码: <%@ Page Language="C#" AutoEventWi

asp.net回发页面被刷新后悔重新执行回发事件的解决方法

做项目,进行数据修改操作后,重新加载数据,本来是没问题的.但是在这个时候刷新下页面,发现修改操作又重新执行了一次,并弹出“修改成功”的提示框. 百度了下,找到以下解决方法,解决了问题: Page.ClientScript.RegisterStartupScript(this.GetType(), "editAtt", " 重定向页面就可以避免上面的情况出现.不要使用response.Redirect();进行重定向,不然的话前面的alert()方法是不会被执行的. 详见:as

asp.net 回发或回调参数无效的各种情况分析及解决办法

昨天,在实现级联菜单的时候,突然出现一下错误: 回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证.出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件.如果数据有效并且是预期的,则使用 ClientScriptManager.Register

ASP.NET 3.5控件和组件开发技术之客户端回发/回调揭密

本文摘录自<纵向切入ASP.NET 3.5控件和组件开发技术>. 对于服务端控件元素,比如ASP.NET的Button标准服务端控件在提交时可以自动把请求发送到服务端处理,这样的控件我们不用自己处理它们的事件回发:但对于呈现不引起回发的HTML元素,如“文本框”(TextBox)或“链接按钮”(LinkButton),而希望由控件启动回发,则可以在ASP.NET中通过依靠客户端脚本的事件结构进行编程来实现这一功能.    完整地处理一个事件则还需要回发和捕捉.捕捉是IPostBackEvent

回发或回调参数无效的各种情况分析及解决办法

今天,在实现级联菜单的时候,突然出现以下错误: 回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证.出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件.如果数据有效并且是预期的,则使用 ClientScriptManager.Register

关于asp.net中页面事件加载的先后顺序

一.ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序.对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件.控件事件不会从内容页发送到母版页.同样,也不能在内容页中处理来自母版页控件的事件. 在某些情况下,内容页和母版页中会引发相同的事件.例如,两者都引发 Init 和 Load 事件.引发事件的一般规则是初始化事件从最里面的控件向最外面的控件引发,所有其他事件则从最外面的控件向最里面的控件引发. 请记住,母版页

FineUI小技巧(6)自定义页面回发

前言 FineUI中的绝大部分回发事件都是由控件触发了,比如按钮的点击事件,下拉列表的改变事件,表格的排序分页事件.但有时我们可能会要自己触发页面回发,这时就要知道怎么使用 JavaScript 来做了,当然这个过程还是 FineUI 所默认支持的AJAX. 手工调用__doPostBack函数 相信每一位使用ASP.NET WebForms的同学都知道这个著名的函数,因为几乎每个页面的源代码中都能看到他的身影: 1 <script type="text/javascript"&

Asp.Net服务器控件开发的Grid实现(四)回发事件

在使用Grid的时候,会用到链接跳转.如果只是普通的链接跳转,那只要使用a标签的href就可以实现.但是有时,我们希望在链接跳转的时候,能够引发回发事件,在后台作出一定的处理,然后再跳转.这样要如何实现呢?我们可以定义一个LinkButtonField来实现.代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text;