【问题标题】:Button onClick event not firing inside a repeater which is in UpdatePanel按钮 onClick 事件未在 UpdatePanel 中的中继器内触发
【发布时间】:2011-08-18 15:12:21
【问题描述】:

我知道我错过了一些简单的东西,但我似乎无法让我的按钮回复。这是我的表单的外观(简化):

<asp:ScriptManager id="smMembersArea" runat="server" EnableViewState="False" />
<asp:UpdatePanel id="updAccounts" runat="server" EnableViewState="True">
  <ContentTemplate>
    <asp:Repeater id="rptrWishList" runat="server" EnableViewState="False">
      <HeaderTemplate></HeaderTemplate>
        <ItemTemplate>
          <asp:Button id="bWLAmend" onclick="FEdit" runat="server" cssclass="button bg" EnableViewState="True" Text="GO"/>
        </ItemTemplate>
      <FooterTemplate></FooterTemplate>
    </asp:Repeater>
  </ContentTemplate>
</asp:UpdatePanel>

更新面板不执行任何操作,FEdit 中也没有任何反应。

当我删除更新面板时,我的 FEdit 事件被正确触发。

谁能指点我正确的方向。

谢谢。

【问题讨论】:

  • 只是为了确定,您是否在 FEdit 中放置了一个断点并使用调试器运行它以查看它是否确实没有被调用?
  • 我正在使用 Delphi,无法调试,但是当我执行此操作时,我的 Windows 调试日志中没有任何内容(我为此调用添加了一个条目)。

标签: asp.net postback viewstate


【解决方案1】:

您可以做的是将 CommandName="Select" 添加到您的按钮

所以你的按钮现在看起来像这样

<asp:Button id="bWLAmend" onclick="FEdit" runat="server" cssclass="button bg" EnableViewState="True" Text="GO" CommandName="Select"/>

并使用中继器 rptrWishList_ItemCommand 的 itemcommand

所以当你点击按钮时,repeater 的 itemcommand 事件就会触发。

你在后面的代码中使用什么语言..?我也许可以提出其他建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2014-03-25
    • 2012-01-28
    相关资源
    最近更新 更多