asp.net gridview打开模态窗体后嵌套问题折叠项

问题描述 投票:0回答:0

我使用嵌套的 GridView,基于以下示例

https://www.aspsnippets.com/Articles/Nested-GridView-with-Expand-Collapse-example-in-ASPNet-using-C-and-VBNet.aspx

打开模态表单后,所有打开的项目都会关闭。我知道这是关于 AutoPostBack 的,我因为其他原因无法将其关闭...

我想寻求帮助

VB 背后的代码

Me.ClientScript.RegisterStartupScript(Form.GetType(), "Show", "ShowModalForm('" & "myModal" & "', '" & "Title" & "', '" & "Message" & "');", True)

HTML

<script type="text/javascript">
    function ShowModalForm(NamePopup, title, message) {
        $("#myModal .data-toggle").html("modal");
        $("#myModal .data-target").html("#myModal");
        $("#" + NamePopup).modal("show");
    }
</script>

<script type="text/javascript">
    $("body").on("click", "[src*=plus-square]", function () {
        $("[src*=dash-square]").each(function () {
            $(this).trigger('click');
        });
        $(this).closest("tr").after("<tr><td></td><td colspan ='999'>" + $(this).next().html() + "</td></tr>")
        $(this).attr("src", "src/dash-square.svg");
    });
    $("body").on("click", "[src*=dash-square]", function () {
        $(this).attr("src", "src/plus-square.svg");
        $(this).closest("tr").next().remove();
    });
</script>


<asp:GridView
                ID="myDataTable"
                DataKeyNames="DOWO_ID"
                runat="server"
                OnRowDataBound="myDataTable_RowDataBound">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <img alt="" style="cursor: pointer" src="src/plus-square.svg" />
                            <asp:Panel ID="pnlOrders" runat="server" Style="display: none;">

                                        <asp:GridView
                                            ID="myOrders"
                                            DataKeyNames="DOWOI_ID"
                                            runat="server">
                                            <Columns>
                                                <asp:BoundField DataField="DOWOI_ID" HeaderText="ID" />
                                                <asp:BoundField DataField="DOWO_ID" HeaderText="ID Items" />
                                                <asp:TemplateField ItemStyle-VerticalAlign="Middle">
                                                    <ItemTemplate>
                                                        <asp:LinkButton ID="lnkEdit" runat="server" OnClick="Display">Otvori</asp:LinkButton>
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                            </Columns>
                                        </asp:GridView>
                            </asp:Panel>
                        </ItemTemplate>
                    </asp:TemplateField>


                    <asp:BoundField DataField="DOWO_ID" HeaderText="ID" SortExpression="DOWO_ID" />
                    <asp:BoundField DataField="DOWO_BarCode" HeaderText="Barcode" SortExpression="DOWO_BarCode" />
                    <asp:BoundField DataField="DOWO_Order" HeaderText="BN" SortExpression="DOWO_Order" />
                </Columns>
            </asp:GridView>

<div id="myModal" class="modal fade" data-backdrop="static">
       <div class="modal-dialog">
             <div class="modal-content">

....

            </div>
       </div>
</div>

我尝试在嵌套网格前面插入一个 UpdatePanel,但无济于事,模态表单调用根本不起作用。我还尝试在模式窗体打开时在后面的代码中显示并保持面板打开,但再次无济于事。我相信使用 UpdatePanel 或通过 jquery 有一个解决方案,但我不知道如何...

  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>

        <asp:GridView> 

            ...

        </asp:GridView>
        
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="myOrders" />
    </Triggers>

</asp:UpdatePanel>
javascript html asp.net vb.net webforms
© www.soinside.com 2019 - 2024. All rights reserved.