0

非常に基本的なasp.net Webアプリケーションをテストしています。<asp:Button>jQueryダイアログをポップするものがあります。このダイアログには<asp:Button><div>タグを表示する別のダイアログがあり、この<div>タグには 3 番目の があり<asp:Button>ます。これまでのところ、すべて問題ありません。私のコードによれば、3番目のボタンは2番目のjQueryダイアログを表示するはずですが、これは決して起こりません。どこを間違えていますか?

これが私のaspxコードです:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>

    <asp:Button ID="btn" runat="server" Text="btn" />
    <div id="div1">
        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <table>
                    <tr>
                        <td>
                            <asp:Button ID="btn1" runat="server" Text="btn1" OnClick="btn1_Click" />
                        </td>
                        <td>
                            <div id="div2" runat="server" visible="false">
                                <asp:Button ID="btn2" runat="server" Text="btn2" />
                            </div>
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>

    <div id="div3" style="display:none">
        <h1>test</h1>
    </div>

jQuery のコードは次のとおりです。

<script type="text/javascript">
        var dialogOpts = {
            resizable: false,
            bgiframe: true,
            autoOpen: false,
            width: "710px"
        };

        $('#div3').dialog(dialogOpts).parent().appendTo($("#form1"));;
        $(function () {
            $("#div3").dialog({
                maxWidth: 1050,
                maxHeight: 534,
                width: 1050,
                height: 534,
                resizable: false,
                autoOpen: false,
                buttons: {
                    Cancel: function () {
                        $(this).dialog("close");
                    }
                }
            });

            $("#btn2").click(function () {
                $("#div3").dialog("open");
                return false
            });
        });
    </script>
    <script type="text/javascript">
        var dialogOpts = {
            resizable: false,
            bgiframe: true,
            autoOpen: false,
            width: "710px"
        };

        $('#div1').dialog(dialogOpts).parent().appendTo($("#form1"));;
        $(function () {
            $("#div1").dialog({
                maxWidth: 1050,
                maxHeight: 534,
                width: 1050,
                height: 534,
                resizable: false,
                autoOpen: false,
                buttons: {
                    Cancel: function () {
                        $(this).dialog("close");
                    }
                }
            });

            $("#btn").click(function () {
                $("#div1").dialog("open");
                return false
            });
        });
    </script>

これは本体に配置され、これまでのところ最初の jQuery のみがポップアップします。そして、これは 2 番目の<div>タグを表示する私の c# 関数です。

 protected void btn1_Click(object sender, EventArgs e)
    {
        div2.Visible = true;
    }
4

1 に答える 1