2

ASP.Net MVC を使用してアプリを作成しています

実際に DB からエントリを削除しようとしています。最初に確認メッセージが必要です。アクションが完了したら、PartialView を更新します。

これが私のコードです

          <%= Ajax.ActionLink(
            "Supprimer", 
            "Delete", 
            "Users",
            new { item.ID },
            new AjaxOptions {
              Confirm= "confirmMethod",
              UpdateTargetId = "usersListeID",
              OnSuccess = "success"
           }
              )%>

問題は、確認オプションが単純な ajax メッセージであることです。独自のメッセージを使用したいです (作成に ajax と jQuery を使用したため、適切に構造化されています)。

function confirmMethod() {
$.msgBox({
    title: "Demande de confirmation",
    content: "Voulez-vous effectuer cette action?",
    type: "confirm",
    buttons: [{ value: "Oui" }, { value: "Non"}],
    success: function (result) {
        if (result == "Non") {
            abort();
        }
    }
});}
4

1 に答える 1

0

標準を使用できますHtml.ActionLink

<%= Ajax.ActionLink(
    "Supprimer", 
    "Delete", 
    "Users",
    new { item.ID },
    new { @class = "delete" }
) %>

次に、jQuery を使用して.click()tis アンカーのイベントをサブスクライブします。

$(function() {
    $('.delete').click(function() {
        var anchor = this;
        // Show the confirmation dialog
        $.msgBox({
            title: "Demande de confirmation",
            content: "Voulez-vous effectuer cette action?",
            type: "confirm",
            buttons: [{ value: "Oui" }, { value: "Non"}],
            success: function (result) {
                if (result == "Oui") {
                    // send the AJAX request if the user selected "Oui":
                    $.ajax({
                        url: anchor.href,
                        type: 'POST',
                        success: function(data) {
                            // When the AJAX request succeeds update the 
                            // corresponding element in your DOM
                            $('#usersListeID').html(data);
                        }
                    });
                }
            }
        });

        // Always cancel the default action of the link
        return false;
    });
});
于 2013-01-28T07:46:30.803 に答える