0

グリッドの行ごとに asp:ImageButton を削除する gridview コントロールがあります。私が望むのは、ユーザーが削除ボタンをクリックして削除するかどうかを尋ねるときにjqueryダイアログがポップアップすることです。
これまでのところ、ダイアログは問題なく表示されています。そのダイアログにボタンがあり、ボタンにサーバー側のメソッドを呼び出させることができますが、ユーザーが選択した行の ID をダイアログに知らせてから、それをサーバー側のコード。

ページ行のボタンは現在、ID「dialog_link」の「a」タグのみです。ページ上の jquery は次のようになります。

$("button").button();
    $("#DeleteButton").click(function () {
        $.ajax({
            type: "POST",
            url: "ManageUsers.aspx/DeleteUser",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {

                // Replace the div's content with the page method's return.
                $("#DeleteButton").text(msg.d);
            }
        });
    });

    // Dialog           
    $('#dialog').dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        bgiframe: true

    });

    // Dialog Link
    $('#dialog_link').click(function () {
        $('#dialog').dialog('open');
        return false;
    });


ダイアログ自体は、単なる 'div' タグのセットです。これを行うためのさまざまな方法(パラメーターの受け渡し、セッション変数など)を考えましたが、それらのいずれかを機能させる方法がわかりません。どんなアイデアでも大歓迎

です。

4

1 に答える 1

2

私は最近、仕事でまったく同じことをしました - アイテムの削除の確認。Data http://docs.jquery.com/Dataメソッドを使用して、渡したい値を保存することで解決しました。

たとえば、私の削除リンクには次のものがありました。

<a href="#" class="delete" id="1">Delete</a>

次に、クラス「削除」のすべてのクリックを監視し、これが発生したら、ダイアログにデータを設定します。

$("#dialog").data("id", $(this).attr("id"));

ダイアログにいるときにアクセスできるようになります。

$("#dialog-confirm").dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            'Delete': function() {
                alert($(this).data('id'));
                $(this).dialog('close');
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    });

これが役に立てば幸いです。不明な場合は叫んでください。

于 2010-05-27T21:21:16.947 に答える