1

请帮助我为子中继器触发 ItemCommand 的命令。

这是我的aspx代码。

<asp:Repeater ID="rpCompany" runat="server">
    <HeaderTemplate>
        <div id="accordion" class="details-accordion">
    </HeaderTemplate>
    <ItemTemplate>
        <h3 class="details-header clr">
            Company Name
        </h3>
        <div class="col-sm-12 details-content">
            <asp:Repeater ID="rpSO" runat="server">
                <HeaderTemplate>
                    <div id="SO">
                        <div id="accordion2" class="details-accordion">
                </HeaderTemplate>
                <ItemTemplate>
                    <h3 class="details-header clr">
                        SO Number
                    </h3>
                    <div class="col-xs-12 details-content">
                        <div class="col-xs-12 btn-center">
                            <asp:Button ID="btnSave" runat="server" Text="SAVE" CssClass="btn btn-primary btn-blue-save" CommandName="SAVE" />
                        </div>
                        <div class="clr"></div>
                        <div class="col-xs-12">
                            <asp:Label ID="lblErrorSave" runat="server" Text=""></asp:Label>
                        </div>
                    </div>
                </ItemTemplate>
                <FooterTemplate>
                    </div>
                </div>
                </FooterTemplate>
            </asp:Repeater>
        </div>
    </ItemTemplate>
    <FooterTemplate>
        </div>
    </FooterTemplate>
</asp:Repeater>

我的 aspx.vb 代码是

Private Sub rpSO_ItemCommand(sender As Object, e As RepeaterCommandEventArgs)
    If e.CommandName = "SAVE" Then

    End If
End Sub

但它没有开火。

我已经在我的子中继器上添加了 OnItemCommand,但它给了我一个错误。

我还添加AddHandler rptSO.ItemCommand, AddressOf rpSO_ItemCommand了父中继器,但仍然没有运气。

在此先感谢您的帮助。

4

2 回答 2

0

只是CommandName在按钮上添加一个不会使事情在后面的代码中自发地发生。您需要将 a 添加OnCommand到 Button 或 an添加OnItemCommand到 Repeater。

<asp:Button ID="btnSave" runat="server" OnCommand="btnSave_Command" Text="SAVE" CommandName="SAVE" />

Protected Sub btnSave_Command(ByVal sender As Object, ByVal e As CommandEventArgs)
    //code
End Sub

<asp:Repeater ID="rpSO" runat="server" OnItemCommand="rpSO_ItemCommand">

Protected Sub rpSO_ItemCommand(ByVal source As Object, ByVal e As RepeaterCommandEventArgs)
    //code
End Sub
于 2017-03-29T09:26:48.763 回答
0

解决方案:

放入AddHandlerRepeater Item Created。

这个链接帮助我解决我的问题。

https://www.mindstick.com/Forum/45/itemcommand-event-in-nested-repeater-and-listview

于 2017-03-29T11:06:11.760 回答