【发布时间】:2011-12-12 19:27:56
【问题描述】:
这样的代码,在单击该按钮后出现页脚模板中的按钮错误:
<asp:Repeater runat="server" ID="RptrDetailsSideList" OnItemCommand='rptMyRepeater_ItemCommand'>
<ItemTemplate>
<li class="clearfix">
<div class="art-thumb">
<img src='<%#DataBinder.Eval(Container.DataItem, "listimage")%>' width="50" height="50" alt='<%#DataBinder.Eval(Container.DataItem, "listimagealt")%>' />
</div>
<div class="art-desc">
<time datetime="2011-08-27T13:30+00:00"></time>
<h3><a href="article.aspx?title=<%#DataBinder.Eval(Container.DataItem, "title")%>"><%#DataBinder.Eval(Container.DataItem, "listtile")%></a></h3>
<p><%#DataBinder.Eval(Container.DataItem, "listdescription")%></p>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
<asp:Button runat="server" ID="btnRepeater" Text="TEST" CommandName='SomeAction' CommandArgument='100'/>
</ul>
</FooterTemplate>
</asp:Repeater>
错误是:
System.ArgumentException:回发或回调参数无效。使用配置中的
<pages enableEventValidation="true"/>或页面中的<%@ Page EnableEventValidation="true" %>启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
服务器端代码:
protected void rptMyRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
int x = 0;
}
我做错了什么?
【问题讨论】:
-
上传rptMyRepeater_ItemCommand的代码
-
protected void rptMyRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) { int x = 0; }
-
这是由添加的元素(可能是 ajax)引起的,而这些元素不是页面创建时的。
-
显示页面源代码(查看源代码)并粘贴到这里。你可能会注入一些元素来解决这个错误。
-
你可以通过
解决它,但它不是正确的方法。