【问题标题】:asp:Button inside repeater footerTemplate invalid postbackasp:Repeater footerTemplate 内的按钮无效回发
【发布时间】: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:回发或回调参数无效。使用配置中的&lt;pages enableEventValidation="true"/&gt; 或页面中的&lt;%@ Page EnableEventValidation="true" %&gt; 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 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)引起的,而这些元素不是页面创建时的。
  • 显示页面源代码(查看源代码)并粘贴到这里。你可能会注入一些元素来解决这个错误。
  • 你可以通过 解决它,但它不是正确的方法。

标签: asp.net .net


【解决方案1】:

【讨论】:

  • 在你的代码中(在上面的代码中)你有 btnEdit 按钮吗?
猜你喜欢
  • 1970-01-01
  • 2011-03-26
  • 2011-02-27
  • 1970-01-01
  • 2012-02-28
  • 2014-02-05
  • 2011-03-24
  • 2017-02-22
相关资源
最近更新 更多