in meinem ASP.NET MVC3-Projekt habe ich eine Aktion, die eine gewisse Zeit läuft. Es wäre schön, wenn es teilweise Antworten auf die Ansicht senden könnte. Das Ziel wäre, dem Benutzer einige Fortschrittsinformationen zu zeigen. Hat jemand eine Ahnung wie man das macht?Anzeige des Fortschritts bei langem Betrieb?
ich einen Versuch mit einigen direkten Ausgang auf die Antwort haben, aber es wird nicht in Teilen an den Client gesendet werden, aber alle auf einen Block:
[HttpPost]
public string DoTimeConsumingThings(int someId)
{
for (int i = 0; i < 10; i++)
{
this.Response.Write(i.ToString());
this.Response.Flush();
Thread.Sleep(500); // Simulate time-consuming action
}
return "Done";
}
Nach Ansicht:
@Ajax.ActionLink("TestLink", "Create", new AjaxOptions()
{ HttpMethod = "POST", UpdateTargetId="ProgressTarget" })<br />
<div id="ProgressTarget"></div>
Kann mir jemand helfen, progressive Action-Ergebnisse zu machen? Danke !!
Hallo Darin, danke für deine schnelle Antwort! Können Sie einen Vorschlag machen, wie Sie das regelmäßige AJAX-Polling durchführen können? Dies ist sicherlich der wichtigste Punkt in dieser Aufgabe. – Sascha
@Sascha, Sie könnten die Funktion ['window.setInterval'] (https://developer.mozilla.org/en/DOM/window.setInterval) verwenden, um in regelmäßigen Abständen einen js-Code auszuführen. Wenn Sie jquery verwenden, können Sie eine Ajax-Anfrage mit der Methode ['$ .ajax()'] (http://api.jquery.com/jQuery.ajax/) senden. Etwas unter den Zeilen: 'window.setInterval (function() {$ .ajax (...);}, 5000);' –
Danke für den Punkt! – Sascha