mvc ajax.actionlink mit jquery dialog bestätigen
Ich habe eine Tabelle mit einigen Zeilen von Daten. Für jede Zeile wird es einige actionlinks aufrufen, werden einige Methoden (löschen dataitem, status ändern dataitem etc...)
Bevor jeder Benutzer auf die Schaltfläche klickt, möchte ich ein jquery-dialog zu zeigen, und geben dem Benutzer einen dialog mit einigen Infos, eine OK-und Abbrechen-button.
Einige Beispiel-code des ajax.actionlink wird, rufen Sie die Methode ChangeStatus:
<%= Ajax.ActionLink(item.Status, "ChangeStatus", new { id = item.Id }, new AjaxOptions { UpdateTargetId = "ListReturns-Div", OnBegin = "StartChangeStatus", OnSuccess = "EndChangeStatus", OnFailure = "FailureChangeStatus" }, new { @class = "StatusBtn" })%>
Dies ist die jquery-Funktion, die aufgerufen wird:
function StartChangeStatus(e) {
$('#dialog-confirm').dialog({
resizable: false,
height: 200,
modal: true,
buttons: {
'Continue': function () {
$(this).dialog('close');
$('#Loading-Div').show('slow');
},
Cancel: function () {
$(this).dialog('close');
e.preventDefault();
}
}
});
}
Den actionlink und jquery-Funktionen arbeiten. Aber das problem ist, dass ich nicht anhalten/stoppen der aktuellen Aktion, wenn die actionlink geklickt wird. Wenn der button angeklickt wird nun das Loch Prozess ausgeführt wird und den dialog bestätigen-Taste wird ignoriert. Also meine Frage ist, wie ändern Sie den actionlink oder die jquery-Funktion zu arbeiten, da wollte mit einem dialog bestätigen, bevor Sie fortfahren?
- im Falle Sie jemals brauchen einen bestätigen-dialog für die a input Typ:submit, die Sie verwenden können, die man von hier aus awesome.codeplex.com
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich auch schon versucht deinen code, immer das gleiche Verhalten. Ich habe modifiziert Ihren code, um die Anzeige confirm-box.
und es ist die Anzeige der javascript-confirm. Müssen, den Grund zu finden, warum es nicht funktioniert.
Vom meine website:
Nun, Ajax.ActionLink ist wirklich nützlich, und Sie Bestätigen AjaxOption ist noch mehr...noch, wer will diese beschissene Javascript Alert in diesen Tagen?
Ich entwickle eine Anwendung mit Ms MVC 2 und ich bin mit dem fantastischen JQueryUI-Bibliothek anpassen der Grafiken alle meine Elemente. Eines der besten Dinge, JQueryUI hat, sind die dialog-Fenster...das wie "Sind Sie sicher, diese Datei zu löschen? Ja/Nein"... und ich WILL SIE IN MEINEM Ajax.ActionLink!
Da ich nicht eine Antwort finden auf die net, ich suchte nach einem einfachen Weg, es zu tun...und jetzt poste ich es hier.
Ersten: Lesen und umsetzen auf Ihrer Seite das schöne tutorial geschrieben von Ricardo Covo: "ASP MVC Löschen Bestätigung mit Ajax & jQuery UI Dialog" (google es Einfach)
Machte ich einfache änderungen an seinen Javascript-code, einfach mit remove() anstelle von hide('fast') und die Anwendung einer Klasse "Element", um den tr zu löschen.
wird
Nun, nachdem Sie folgte dem vorherigen tutorial, Sie sind bereit zu ersetzen, die dem
Zeile mit
Können Sie mithilfe der Post-Methode, wenn Sie möchten, die wichtige Sache hier ist die OnBegin option, dass Anrufe ein javascript, das verhindert, dass der server-Aktion aufgerufen werden, bevor
JQueryUI Dialog Bestätigung:
Stelle das javascript auf der Seite.
So, jetzt, was passiert: Wenn Sie klicken Sie auf die Schaltfläche Löschen klicken, es öffnet sich das JQueryUI und fordert die OnBegin Funktion (das Abbrechen der normalen post action). Im Fall von "Bestätigen", Ricardo Covo code Feuer der server-Seite die Aktion, und auf dem Ricardo-Covo javascript-code der Bestätigung werden Sie in der Lage zu führen Sie alle Aktionen, die im Falle des Erfolgs (wie ausblenden der Zeile löschen).
Achten: Bei dieser Methode müssen Sie die verwalten-Funktion für Erfolg/scheitern im javascript-code von Ricardo Covo, da die OnSuccess und OnComplete AjaxOptions wird nicht beschossen werden alle (wahrscheinlich überschrieben durch einige code).