Frage

Ich habe eine btnSave_Click () Funktion in meinem Code-Behind. Wenn ein Benutzer auf die Schaltfläche klickt speichern (Bild) Ich habe, es ruft diese Funktion:

protected void btnSave_Click(object sender, EventArgs e)
{
this.saveForm();
txtMessages.Text = "Save Complete";
}

Die saveForm () Funktion offensichtlich speichert die Form (über gespeicherte Prozeduren). Wird .NET warten, bis das Speichern abgeschlossen ist, bevor die „Save Complete“ Nachricht angezeigt wird, oder gibt es etwas anderes sollte ich den Benutzer wissen zu lassen, tun, wenn die Speicherung durchgeführt wird.

Was ist das beste Tutorial für diese Art der Sache (das heißt Spinner und die Meldung, wenn Speicher abgeschlossen ist)?

War es hilfreich?

Lösung

Dies ist eine synchrone Methode. Es wird bis zum saveForm warten () -Methode zurückgegeben (beendet) es ist Abschluss, bevor es weitergehen kann.

Andere Tipps

Ja, wenn Sie etwas tun, einen sekundären Thread in der „SaveForm“ Methode zu starten die nächste Zeile nicht, bis die gesamte saveForm Methode gemacht wird gemacht wird.

Es zeigt nur "Save Complete", wenn der vorherige Vorgang abgeschlossen ist.

ich in der Regel diese Art von Nachrichten in einem statusbar setzen. Aber es hängt wirklich von Ihrer Anwendung und UI.

Ja. Es ist von oben nach unten.

könnte ich hinzufügen, dass, wenn Ihr speichern Formularlogik eine Weile dauern könnte es besser sein, könnte es in einem Hintergrundthread zu spinnen die GUI zu verhindern Perren. Hier sind einige gute Hintergrundinformationen über das Lesen. http://www.yoda.arachsys.com/csharp/threads/

Nur etwas über Sie innerhalb des NET Framework zu tun ist synchron, wenn Sie speziell es versuchen asynchron zu machen.

Das bedeutet, dass der Schritt für die Rückkehr warten wird (und die gespeicherte Prozedur Aufruf für die Rückkehr von SQL warten), bevor zum nächsten Schritt übergehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top