0

私は ASP.NET と jQuery を使用しており、ダイアログを使用しています。このダイアログには Web コントロールがあります。ダイアログのボタンをクリックするとダイアログが閉じますが、このダイアログボックスでユーザーを検索してもダイアログを閉じたくありません:(

ここに私の問題の例があります:

ループ記号をクリックすると、Active Directory でユーザーを検索するためのダイアログを開くことができます。

ここに画像の説明を入力

しかし、ダイアログの検索ボタンをクリックすると、最初に閉じて、ダイアログを開くと、見つかったユーザーが表示されます:/

ここに画像の説明を入力

タブ「Signatur」をクリックした場合と同じ問題ボタンをクリックすると、タブ「Abwesenheit」でページが新しく読み込まれますが、タブ「signatur」をクリックするとSignaturが作成されますagein :(

マイ コード: (ダイアログの jquery コード)

$(document).ready(function () {
    $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        resizable: false,
        height: 450,
        width: 600,
        closeOnEscape: false,
        buttons: {


        }
    });

    $("#dialog").parent().appendTo($("form:first"));

    $("#DialogOpen").click(function () {
        $("#dialog").dialog("open");
        $("#dialog").parent().appendTo($("form:first"));
        return false;
    });
});

ここに私のASPX:

<div id="dialog" title="Vertreterliste">
            <asp:TextBox ID="txtBox" runat="server" ></asp:TextBox>

            <asp:ImageButton ID="imageSearch" runat="server" 
                ImageUrl="~/Theme/Pictures/lupe.jpg" Height="24px" Width="25px" 
                onclick="imageSearch_Click" />

                <hr />

             <asp:ListView runat="server" ID="myListView" OnItemCommand="myListView_ItemCommand" 
                   OnSelectedIndexChanging="myListView_SelectedIndexChanging">


      ....

        </asp:ListView>

        </div>

Webcontrol をクリックした場合にダイアログが表示されないようにするにはどうすればよいですか :/

4

2 に答える 2

2

Webコントロールがポストバックを実行しているため、ダイアログが閉じています。したがって、ページ全体がサーバーにポストされており、再び戻ってきたときに、ダイアログが開いているかどうかなどの情報がありません。

そのため、UpdatePanelsを使用して、Webコントロールを閉じるためのダイアログを停止するか、ajaxでリクエストを送信できます。

または、ダイアログの開始ステータスを非表示フィールドに保存し、ページが読み込まれたときに、この非表示フィールドの値を確認し、値に応じてクライアント側のスクリプトを使用してダイアログを再度開きます。

于 2012-09-24T07:03:06.690 に答える
1

私はdivの下で開きます。削除ボタンの削除ボタンをクリックすると、「lnkDelete」のようなクラスがあります。

<div id="dialog-confirm" title="Delete Country">
        <p>
            Are you soure you wont to delete this record ?</p>
    </div> 




<script type="text/javascript">
        $(function () {
            $(".lnkDelete").button();
            $("#dialog-confirm").dialog({
                autoOpen: false,
                model: true,
                width: 300,
                resizable: false,
                height: 200
            });

            $(".lnkDelete").click(function (e) {
                e.preventDefault();
                var targeturl = $(this).attr("href");


                $("#dialog-confirm").dialog({
                    buttons: {
                        "Confirm": function () {
                            window.location.href = targeturl;
                        },
                        "Cancel": function () {
                            $(this).dialog("close");
                        }
                    }
                });
                $("#dialog-confirm").dialog("open");
            });
        });
    </script>

これはあなたを助けると思います......

于 2012-09-24T07:19:03.457 に答える