回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。

回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证

1。问题原因:在pageload 中直接DataBind()的话,当你激发了 GridView的中嵌入控件的事件,这时,就激发了PostBack, 然而你并没有进行判断 这时的数据绑定 仍然是pageLoad 的 DateBind()先执行, 可是这时你激发了 更新,删除等按钮的事件,这时就会产生 上面的“验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件”的错误。

2.解决办法:把绑定语句写在!IsPostBack里,

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //绑定数据的语句
        }
    }

3.IsPostBack:

  意思是当前请求是否第一次打开。Page.IsPostBack或者IsPostBack或者this.IsPostBack或者this.Page.IsPostBack,它们都等价。
  1)当通过IE的地址栏等方式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以POST的方式提交的服务器时,页面就不再是第一次打开了。(每点击一次按钮,都是一次加载)
  2)IsPostBack只有在第一次打开的时候是false,其它时候都是true,
  3).Net判断一个Page是否第一次打开的方法:Request.Form.Count>0
  4)每次页面Load的时候,根据需要把每次都要加载的代码放在IsPostBack中,只需要加载一次的代码放在if(!IsPostBack)中。
  5)每次用户回传服务器任何信息的时候,都会引发isPostBack属性用来判断此用户是否曾经做过登陆或者其他事件
  6 )

  if(!IsPostBack)  //只有第一次打开的时候,才会执行里面的代码
  {
  Response.Write("第一次提交!");
  }
  if(IsPostBack)
  {
  Response.Write("点击按钮!");
  }

回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。

时间: 2024-12-14 18:11:48

回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。的相关文章

Repeater控件中触发按钮事件出现System.ArgumentException: 回发或回调参数无效。在配置中使用 &lt; pages enableEventValidation=&quot;true&quot;/&gt;

今天,在Repeater控件中添加了一个按钮,可是在执行时确提示 System.ArgumentException: 回发或回调参数无效.在配置中使用 < pages enableEventValidation="true"/> <asp:Repeater ID="rpList" runat="server" OnItemCommand="rpList_ItemCommand"> <ItemTem

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

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

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

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

asp.net 解决 &quot;回发或回调参数无效&quot; 一些常见解决方案

一.回发或回调参数无效,出现下图错误, 常见解决方案: 1.在页面的<%@ Page Language="C#"  AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"  % 中添加 EnableEventValidation="false" 就可以了.(首先考虑的) 2.Form嵌套,首先一个页面是可以有多个For

回发或回调参数无效 “HtmlSelect”不能有类型为“LiteralControl”的子级

原文发布时间为:2009-11-14 -- 来源于本人的百度文章 [由搬家工具导入] 回发或回调参数无效 “HtmlSelect”不能有类型为“LiteralControl”的子级 出现这两个错误,一般是.NET2.0中遇见的错误,解决: 回发或回调参数无效。在配置中使用 <pages enableEventValidation= "true "/> 或在页面中使用 <%@ Page EnableEventValidation= "true " %

&lt;pages validateRequest=&quot;false&quot;/&gt;在.net4.0中无效的问题

再web.config中设置<pages validateRequest="false"/>在.net4.0中无效的问题 解决方案: <system.web> <httpRuntime requestValidationMode="2.0"/> <pages validateRequest="false"/> </system.web> 新增<httpRuntime request

在 ASP.NET 网页中不经过回发而实现客户端回调

一.使用回调函数的好处 在 ASP.NET 网页的默认模型中,用户会与页交互,单击按钮或执行导致回发的一些其他操作.此时将重新创建页及其控件,并在服务器上运行页代码,且新版本的页被呈现到浏览器.但是,在有些情况下,需要从客户端运行服务器代码,而不执行回发.如果页中的客户端脚本维护一些状态信息(例如,局部变量值),那么发送页和获取页的新副本就会损坏该状态.此外,页回发会导致处理开销,这会降低性能,且会让用户不得不等待处理并重新创建页. 若要避免丢失客户端状态并且不导致服务器往返的处理开销,可以对

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

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

FineUIMvc随笔(4)自定义回发参数与自定义回发

声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 不能忘却的回发 在上一篇文章中,我们对FineUIMvc中的回发进行了详细描述,目的是为了告诉大家: 1. FineUIMvc中的回发其实是请求控制器方法的另一种表述而已 2. 回发是轻量级,只会传入你允许传入的参数 3. 回发是AJAX过程 4. 可以通过控件ID来快捷的附加相关参数 但是,上一篇文章没有讲解如何在回发中自行附加需要的参数,这个参数来源可以是: 1. 静态字符串 2. JavaScript变量或者函数返回值