我在页面中使用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兼容模式下表示错误。
答案 0 :(得分:1)
这真是奇怪的行为。不幸的是,我无法在给定的语法上重现错误。
如果你在每次回发时保留重新绑定转发器,你肯定会收到错误,所以你必须确保只有在页面没有回发时才绑定。
if (!Page.IsPostBack)
{
//your code
}
另外,您是否使用任何元标记进行内容缓存(客户端)?我还会清除浏览器的缓存。
如果您有任何更具体的细节,请告诉我。
希望它有所帮助。