8 Stimmen

MVC3 Ajax.ActionLink

Für Folgendes:

@Ajax.ActionLink("Delete", "Delete", "AdminGroup", new { id = item.AdminGroupId }, new AjaxOptions { Confirm = "Delete?", HttpMethod = "Delete", OnSuccess = "function() { $(this).parent().parent().remove() }" })

OnSuccess wird fehlgeschlagen. Bitte helfen Sie. Danke

23voto

Darin Dimitrov Punkte 990883

Das sollte so sein:

@Ajax.ActionLink(
    "Delete", 
    "Delete", 
    "AdminGroup", 
    new { id = item.AdminGroupId }, 
    new AjaxOptions { 
        Confirm = "Delete?", 
        HttpMethod = "Delete", 
        OnSuccess = "handleSuccess" 
    }
)

wo Sie haben:

<script type="text/javascript">
function handleSuccess() {
    // TODO: handle the success
    // be careful because $(this) won't be 
    // what you think it is in this callback.
}
</script>

Hier ist eine alternative Lösung, die ich Ihnen empfehlen würde:

@Html.ActionLink(
    "Delete", 
    "Delete", 
    "AdminGroup", 
    new { id = item.AdminGroupId }, 
    new { id = "delete" }
)

und dann in einer separaten Javascript-Datei AJAXify den Link:

$(function() {
    $('#delete').click(function() {
        if (confirm('Delete?')) {
            var $link = $(this);
            $.ajax({
                url: this.href,
                type: 'DELETE',
                success: function(result) {
                    $link.parent().parent().remove();
                }
            });
        }
        return false;
    });
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X