如何在UpdatePanel中使用ImageButton绑定嵌套转发器

时间:2019-01-25 16:11:27

标签: c# asp.net repeater

我正在使用带有jQuery的简单html img来显示嵌套表,并在itemdatabound上绑定转发器。问题是,通过同时从列表中的项目中获取所有子项目,这非常昂贵。因此,我决定最好单击折叠图像以显示应在其中绑定中继器的嵌套表。

为此,我使用imagebutton和command参数获取ID,并使用更新面板停止按钮的回发,但是转发器不会更新吗?

<asp:ScriptManager runat="server"></asp:ScriptManager>

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="rptInventarioLocalizacoes_ItemCommand">
    <HeaderTemplate>
        <table id="tblInventarioLocalizacoes" class="table table-bordered table-striped dataTable text-center">
            <thead class="thead-dark">
                <tr>
                    <th></th>
                    <th>Nª</th>
                    <th>Localização</th>
                    <th>Etq. Por Inventariar</th>
                    <th>Etq. Inventariadas</th>
                    <th>Precisão</th>
                </tr>
            </thead>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>
                <asp:ImageButton ID="ibtnCollapse" runat="server" Style="cursor: pointer" ImageUrl="../../Images/Collapse/plus.png" Width="20" CommandName="BindEtiquetas" CommandArgument='<%# Eval("Localizacao") %>' />

                <asp:Panel ID="pnlInventarioEtiquetas" runat="server" Style="display: none">

                    <asp:UpdatePanel runat="server">
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="ibtnCollapse" EventName="Click" />
                        </Triggers>
                        <ContentTemplate>
                            <asp:Repeater ID="rptLocalizacoesEtiquetas" runat="server">
                                <HeaderTemplate>
                                    <table id="tblLocalizacoesEtiquetas" class="nestedtable table table-bordered table-striped dataTable">
                                        <thead class="thead-dark">
                                            <tr>
                                                <th>#</th>
                                                <th>Etiqueta</th>
                                                <th>Validar</th>
                                            </tr>
                                        </thead>
                                </HeaderTemplate>
                                <ItemTemplate>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblRowIndex" runat="server" Text='<%# (((RepeaterItem)Container).ItemIndex + 1) %>' />
                                        </td>
                                        <td>
                                            <asp:Label ID="lblEtiqueta" runat="server" Text='<%# Eval("Etiqueta") %>' />
                                        </td>
                                        <td>
                                            <asp:CheckBox ID="chkEtiqueta" runat="server" />
                                        </td>
                                    </tr>
                                </ItemTemplate>
                                <FooterTemplate>
                                    </table>
                                        <asp:Button ID="btnAddEtiqueta" runat="server" CssClass="btn btn-default" Text="Adicionar Etiqueta" BackColor="#020023" ForeColor="White" Font-Bold="true" />
                                    <asp:Button ID="btnInventariar" runat="server" CssClass="btn btn-default" Text="Inventariar Etiquetas" BackColor="#020023" ForeColor="White" Font-Bold="true" />
                                </FooterTemplate>
                            </asp:Repeater>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </asp:Panel>
            </td>
            <td>
                <asp:Label ID="lblRowIndex" runat="server" Text='<%# (((RepeaterItem)Container).ItemIndex + 1) %>' />
                <asp:Label ID="lblIdlocalizacao" runat="server" Text='<%# Eval("IdInventarioLocalizacao") %>' Style="display: none" />
            </td>
            <td>
                <asp:Label ID="lblLocalizacao" runat="server" Text='<%# Eval("Localizacao") %>' />
            </td>
            <td>
                <asp:Label ID="lblEtiquetasPorInventariar" runat="server" Text='<%# Eval("EtiquetasPorInventariar") %>' />
            </td>
            <td>
                <asp:Label ID="lblEtiquetasInventariadas" runat="server" Text='<%# Eval("EtiquetasInventariadas") %>' />
            </td>
            <td>
                <asp:Label ID="lblPrecisao" runat="server" Text='<%# Eval("Precisao") %>' />
            </td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

0 个答案:

没有答案