C# 使用gridview中的按钮时发生ASP.net事件验证错误

C# 使用gridview中的按钮时发生ASP.net事件验证错误,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个有多个按钮的页面。单击单个按钮时,一切正常,但在它执行回发并单击另一个按钮后,会生成异常:System.Web.HttpUnhandledException(0x80004005):引发类型为“System.Web.HttpUnhandledException”的异常。-->System.ArgumentException:回发或回调参数无效。在配置或页面中使用启用事件验证。 以下是aspx代码: <asp:GridView ID="gvSafeList" runat="s

我有一个有多个按钮的页面。单击单个按钮时,一切正常,但在它执行回发并单击另一个按钮后,会生成异常:
System.Web.HttpUnhandledException(0x80004005):引发类型为“System.Web.HttpUnhandledException”的异常。-->System.ArgumentException:回发或回调参数无效。在配置或页面中使用启用事件验证。


以下是aspx代码:

    <asp:GridView ID="gvSafeList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True" OnRowCommand="gvSafeList_RowCommand" PageSize="15">
    <Columns>
        <asp:BoundField DataField="EmailTo" HeaderText="Account" SortExpression="EmailTo" />
        <asp:BoundField DataField="EmailFromName" HeaderText="From" SortExpression="EmailFromName" />
        <asp:BoundField DataField="EmailFrom" HeaderText="Senders Email" SortExpression="EmailFrom" />
        <asp:BoundField DataField="Subject" HeaderText="Subject" SortExpression="Subject" />
        <asp:BoundField DataField="Time_Stamp" HeaderText="Time" SortExpression="Time_Stamp" />
        <asp:TemplateField>
          <ItemTemplate>
            <asp:Button ID="AddButton" runat="server" 
              CommandName="AddToSafeList" 
              CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
              Text="Unblock & Restore" />
          </ItemTemplate> 
        </asp:TemplateField>
    </Columns>
    <PagerSettings FirstPageText="First" LastPageText="Last" Mode="NumericFirstLast" NextPageText="Next" PageButtonCount="20" Position="TopAndBottom" PreviousPageText="Previous" />
    <PagerStyle Font-Bold="True" Font-Size="15pt" HorizontalAlign="Center" />
</asp:GridView>


我已经在这上面呆了一段时间,设置
事件验证=false对我来说太危险了。

页面加载事件中有代码吗?如果是,那么也许添加以下内容会有所帮助

if (!Page.IsPostBack)
{ 
    //do something
}
当您单击命令并再次运行页面加载时,会引发此错误。在正常的生命周期中,将是页面加载->单击命令->页面加载(再次)->处理行命令事件

谢谢:)我将等待24小时后关闭此操作,但无法生成错误。它可能已经修复了它:)
if (!Page.IsPostBack)
{ 
    //do something
}