Ich habe eine ASP.NET 2.0-application.I einen Fortschritt indcator zeigen möchten, wenn Benutzer einige Daten gespeichert werden (Bsp: Profil bearbeiten) .Ich jQuery bereits verwendet haben, in meine Anwendung für einige Client-Nebenwirkungen. Wie kann ich das machen ? JQuery Trusted Zeug mit ASP.NET verwenden? Vielen Dank im VorausASP.NET: Fortschrittsinformationen anzeigen, während die Daten an die DB Speichern
Antwort
Haben Sie tatsächlichen Fortschritt oder nur ein Besetztanzeige, während die Aktion geschieht zeigen? Im ersten Fall benötigen Sie einen Mechanismus, um den Speicherfortschritt in der Sitzung aufzuzeichnen, und eine Methode, um den Status des Fortschritts über AJAX zu überprüfen. Sie reichen das Formular über AJAX ein und rufen dann regelmäßig die Prüfmethode auf, um Berichte über den Fortschritt zu erhalten und den clientseitigen Indikator zu aktualisieren (normalerweise wechseln Sie zwischen einer Reihe von vordefinierten Bildern oder vergrößern Sie die Breite einiger ausgefüllter "Balken").). Dies ist natürlich kompliziert. Wenn Sie das Letzte tun möchten, zeigen Sie einfach ein animiertes GIF an, das ein beschäftigt Indikator ist, während Sie das Formular über AJAX von jQuery senden, das den Callback vor beforeSend verwendet, und das Indikator dann ausblenden, das den vollständigen Handler der Ajax-Methode verwendet.
$('form').ajax({
url: '/updateprofile.aspx',
type: 'POST',
data: function() { return $('form').serialize(); },
beforeSend: function() { $('#indicator').show(); },
complete: function() { $('#indicator').hide(); },
success: function(data,status) { alert('Update complete'); }
});
Der obige Code würde in der Funktion aus aufgerufen werden, was auch immer Handler die Vorlage oder verhakt ruft zu der Veranstaltung Form einreichen - wenn Sie die Standardaktion verhindern müßten stattfinden können, auch.
Eine Alternative zum Anzeigen eines aussagekräftigen Fortschrittsanzeigers besteht darin, ein animiertes GIF anzuzeigen, während die Daten gespeichert werden, z. das sich drehende "Daisy" -Muster in Firefox.
Dies zeigt dem Benutzer, dass etwas geschieht, und ist in der Regel gut aufgenommen.
Fortschrittsanzeigen, die% vervollständigen zeigen, sind oft bedeutungslos, es sei denn, sie haben wirklich eine Idee, wie lange die ersten 50% im Vergleich zu den letzten 50% dauern werden. Andere Fortschrittsindikatoren sind sinnvoller, z. jene, die Aufzeichnungszählungsinkremente zeigen, etc.
Nicht unbedingt der Fall, denn die Animation wird fortgesetzt, auch wenn der Server während der Aktualisierung platzt. –
Richtig, nicht in allen Fällen geeignet, reicht aber oft aus. Ich würde mit einem richtigen Indikator gehen, der mit dem Server spricht, vorausgesetzt, dass er genug Zeit hat, um ihn zu implementieren. –
Ich verwende nicht eine Ajaxformularpost. Ich speichere die Daten in der Server-Seite sogar von einem asp.net-Button click.Ich habe nie ein Ajax-Formular submit.Is gibt es keinen Risikofaktor bei der Verwendung dieser Methode? Ich bin mir nicht sicher. Was ist der Vorteil der Verwendung von Ajax zum Posten? – Shyju
@tvanofosson diese Antwort gespeichert mein Tag ... –