ポストバックの確認 OnClientClick ボタン ASP.NET 質問する

ポストバックの確認 OnClientClick ボタン ASP.NET 質問する
<asp:Button runat="server" ID="btnUserDelete" Text="Delete" CssClass="GreenLightButton"
                           OnClick="BtnUserDelete_Click"
                           OnClientClick="return UserDeleteConfirmation();" 
 meta:resourcekey="BtnUserDeleteResource1" />

私が試してみました:

function UserDeleteConfirmation() {
        if (confirm("Are you sure you want to delete this user?"))
            return true;
        else
            return false;
}

そして

function UserDeleteConfirmation() {
    if (confirm("Are you sure you want to delete this user?")) {
            __doPostBack(btnUserDelete, '');
    }

    return false;
 }

そして、どれも機能しません。

ベストアンサー1

これを試して:

<asp:Button runat="server" ID="btnUserDelete" Text="Delete" CssClass="GreenLightButton"
                       OnClick="BtnUserDelete_Click"
                       OnClientClick="if ( ! UserDeleteConfirmation()) return false;" 
 meta:resourcekey="BtnUserDeleteResource1" />

この方法では、「戻る」はユーザーが「キャンセル」をクリックしたときにのみ実行され、「OK」をクリックしたときには実行されません。

ちなみに、UserDeleteConfirmation 関数は次のように短縮できます。

function UserDeleteConfirmation() {
    return confirm("Are you sure you want to delete this user?");
}

おすすめ記事