Кнопка внутри вложенного повторителя

Пожалуйста, помогите мне запустить команду 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 в родительском репитере но все равно не повезло.

Заранее спасибо за помощь.

2 ответа

Решение

Решение:

Положить AddHandler в элементе повторителя создан.

Эта ссылка помогает мне решить мою проблему.

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

Просто добавив CommandName для кнопки не будет происходить в коде спонтанно. Вам нужно добавить OnCommand на кнопку или OnItemCommand к репитеру.

<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
Другие вопросы по тегам