无效的回传或回调参数。仅在图像按钮情况下出现。

4
我遇到了以下错误:
无效的回传或回调参数。事件验证已启用,使用配置中的< pages enableEventValidation="true"/> 或者页面中的<%@ Page EnableEventValidation="true" %>。出于安全考虑,此功能会验证回传或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效并且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法向回传或回调数据注册验证。
我在Repeater中有一个ImageButton,如下所示:
<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个回答

4

在页面加载时检查IsPostBack

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

1
现在对于图像按钮也可以正常工作了。但我想知道原因,为什么对于 LinkButton 没有 "Post Back" 检查也可以正常工作。谢谢。 - user1321748

3

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

还可以查看此答案和同一问题的其他答案。


现在对于图像按钮也可以正常工作了。但我想知道原因,为什么对于 LinkButton 没有 "Post Back" 检查也可以正常工作。谢谢。 - user1321748

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接