1

我在页面中使用 asp:repeater,它有 OnItemCommand。但是在 IE7(兼容模式)中,当我单击中继器中的按钮时,它不起作用并显示此错误:

无效的回发或回调参数。使用配置或页面启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。

这是代码:

<asp:Repeater ID="rptExternalLinks" runat="server" OnItemCommand="rptExternalLinks_ItemCommand1">
   <ItemTemplate>
      <asp:Button ID="lbtnDelet" CssClass="simaUI-icon simaUI-icon-closethick" runat="server" CommandName="DeleteItem" />
   </ItemTemplate>
</asp:Repeater>

它适用于其他浏览器,如 IE9、FF、Chrome 和......但它在 IE 兼容模式下显示该错误。

4

1 回答 1

1

这真是奇怪的行为。不幸的是,我无法重现给定语法的错误。

如果您在每次回发时都重新绑定转发器,您肯定会收到错误,因此您必须确保仅在页面未回发时才绑定。

if (!Page.IsPostBack)
{
    //your code
}

此外,您是否使用任何元标记进行内容缓存(客户端)?我还会清除您浏览器的缓存。

如果您有任何更具体的细节,请告诉我。

希望能帮助到你。

于 2012-03-14T09:45:07.963 回答