Wenn ich in ASP.Net arbeite, habe ich oft gerne "Sind Sie sicher?" Popups beim Klicken auf Dinge wie eine Schaltfläche zum Löschen. Dies ist leicht wie so getan:Verwenden von SweetAlert2 zum Ersetzen von "return confirm()" auf einer ASP.Net-Schaltfläche
<asp:Button runat="server" id="btnDelete" Text="Delete" onClientClick="return confirm('Are you sure?');" onClick="btnDelete_Click" />
Ich mag das Styling und allgemeines Gefühl von SweetAlert2 des Bestätigungsdialogs, aber sie sind scheinbar ein bisschen lästig, wenn ich versuche, sie in ähnlicher Weise zu integrieren. Kann mir jemand erklären, wie ich das SweetAlert2-Dialog-Ergebnis basierend auf der angeklickten Schaltfläche entweder fortsetzen oder stoppen kann?
Hier ist, was ich bisher habe:
<asp:Button runat="server" id="btnDelete" Text="Delete" onClientClick="return sweetAlertConfirm();" onClick="btnDelete_Click" />
function sweetAlertConfirm() {
event.preventDefault();
swal({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
// }).then(function() {
// CONFIRM WAS CHOSEN
// }, {function() {
// CANCEL WAS CHOSEN
});
}
Der Dialog kommt und das Löschen wird nicht verarbeitet, natürlich, wie ich zur Zeit ein event.preventDefault()
und nichts tun zurückgegeben werden. Ich merke auch, dass I can use promises, Hinzufügen einer .then()
nach meiner swal({...})
, aber ich bin mir nicht sicher, wie das in diesem Fall verwendet werden würde.
Bei Bedarf kann ich mit einer versteckten Schaltfläche, die tatsächlich die Code-Behind-Methode auslöst, knifflig werden und auf die ausgeblendete Schaltfläche basierend auf der Benutzerauswahl klicken, aber ich hoffe, dies zu vermeiden.
Perfekt für das, was ich suche. Ich kann es leicht ändern, um global wiederverwendbar zu sein, aber das sollte nicht so schlecht sein. Ich schätze Ihre Hilfe sehr! – Santi
Ich halte es für notwendig zu erwähnen, wie ich zuvor vergessen hatte, dass Ihre Lösung bereits vollständig wiederverwendbar war. Ich habe nur ein paar Dinge umbenannt, um ein bisschen globaler freundlich zu sein, und es funktionierte wie ein Zauber. Danke noch einmal. – Santi