无效的回发或回调参数。只获取图像按钮

时间:2012-06-19 06:10:01

标签: c# asp.net repeater eventvalidation

我收到以下错误:

  

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

ImageButton中有Repeater,如下所示:

<asp:ImageButton ID="btn_CreatePdf" ImageUrl="~/images/download.png" 
                 ToolTip="Create Transmittal for this Contact" 
                 CommandName="CreatePdf"   
                 CommandArgument='<%#Eval("contactid")%>' runat="server" />

当我点击此ImageButton时,会导致该错误。

但是当我尝试LinkButton代替ImageButton时,它运行正常。我试过关注LinkButton

<asp:LinkButton ID="btn_CreatePdf" Text="Download" CommandName="CreatePdf" 
                CommandArgument='<%#Eval("contactid")%>' runat="server" >    
</asp:LinkButton>

请给我一个解决方案,为什么我只在ImageButton的情况下收到此错误。

2 个答案:

答案 0 :(得分:4)

在您的页面加载检查IsPostBack

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        //your code here
    }
}

答案 1 :(得分:3)

使用:if(!Page.IsPostBack)(C#)。

另请查看this answer和其他同一问题