0

ASP.NET Gridview の行の削除に取り組んでいましたが、問題なく動作していましたが、ポップアップの削除確認を追加しようとすると、問題が発生しました。

私の削除ボタンタグは次のとおりです。

<asp:TemplateField>
<ItemTemplate>
   <asp:Button  ID="btnDelete" runat="server" CssClass="CoolButtons" Text="Delete"           CommandName="Delete"  OnClick="btnEdit_Click" CommandArgument='<%# Container.DataItemIndex%>'/>
 </ItemTemplate>
</asp:TemplateField>

ここで、popup 用のスクリプトをいくつか追加しました。注: 非表示フィールドを使用して、サーバー側の削除イベントの値を使用しました。

//***** 'Yes' button Click on Popup *****
            $("#btnYes").click(function (e) {
                HideDialog();
                e.preventDefault();
            });

            //***** 'No' Button click on Popup *****
            $("#btnNo").click(function (e) {

                $('input[id="hdnConfirmDelete"]').val("no");
                HideDialog();
                e.preventDefault();
            });

            //***** 'Delete' Button click on server ****
            $('input[value="Delete"]').click(function (e) {
               ShowDialog(true);
               e.preventDefault();


            });
 //**** Function to Open Dialog ***
            function ShowDialog(modal) {
                $("#overlay").show();
                $("#dialog").fadeIn(300);

                if (modal) {
                    $("#overlay").unbind("click");
                }
                else {
                    $("#overlay").click(function (e) {
                        HideDialog();
                    });
                }
            }
            //**** Function to Close Dialog ****
            function HideDialog() {
                $("#overlay").hide();
                $("#dialog").fadeOut(300);
            }

OnClick="btnEdit_Click"問題は、サーバー側を知っている、をトリガーできないことです。削除確認ダイアログでOnClick「 」ボタンをクリックしたときに削除ボタンのイベントをトリガーできる方法はありますか? Yes注: ダイアログは単純な HTML タグで構成されています。

4

1 に答える 1

0

書き込むe.preventDefault()と、ボタンが元の機能から妨げられ、サーバー側のコードが実行されます。
だからこれを使う

 $("#btnYes").click(function (e) {
            HideDialog();
        });

e.preventDefault(); を削除します。
ここにあなたがよりよく理解できるリンクがあります

http://api.jquery.com/event.preventDefault/

編集 1:-

これを使って

 $("#btnYes").click(function (e) {
            $('input[id="hdnConfirmDelete"]').val("yes");
            HideDialog();
        });
于 2013-01-18T13:09:54.983 に答える