Heim >Backend-Entwicklung >C#.Net-Tutorial >Erläuterung des ASP-Codes für die MVC-Seitenumleitung
In diesem Artikel werden hauptsächlich die relevanten Informationen zur ASP.NET MVC-Seitenumleitung im Detail vorgestellt, die einen gewissen Referenzwert haben. Interessierte Freunde können auf die Seite
in asp.net Redirect: Server.Execute(" verweisen. m2.aspx"); Nachdem der Server die Daten vor der Umleitung dieser Seite gespeichert hat, leitet er die Seite zur Ausführung an m2.aspx weiter und kehrt dann zu dieser Seite zurück, um die Ausführung fortzusetzen. Die Ergebnisse der drei werden dann kombiniert und zurückgegeben an den Browser.
Bei den oben genannten handelt es sich um serverseitige Seitenumleitungen, sodass der Browser keine Seitenänderungsdatensätze anzeigt (die angezeigte Adresse ändert sich nicht). Wenn der Benutzer diese Seite aktualisiert, können daher einige andere unerwartete Situationen auftreten. Eine solche Seitenumleitung kann einige andere Funktionen ausführen, z. B. den Zugriff auf die Server--Steuerung auf der vorherigen Seite.
1. Response.Redirect:
Wenn der Browser eine ASPX-Seite anfordert und auf die Redirect(URL)-Methode stößt, entspricht dies einer Mitteilung an den Browser dass Sie zunächst eine Seite aufrufen müssen, woraufhin der Browser für diese Seite eine Anfrage an den Server sendet. Die Verschiebung erfolgt über den Browser, was zu einem zusätzlichen Roundtrip zwischen dem Server und dem Browser führt. Wenn der Netzwerkzustand nicht sehr gut ist, verringern zwei Anfragen die Reaktionsgeschwindigkeit der Anwendung erheblich und belegen sogar überschüssige Bandbreite.
Zusammenfassend lässt sich sagen, dass die Redirect(URL)-Methode am effizientesten ist, wenn der Netzwerkstatus gut ist!! Server.Transfer-Methode und Server.Execute-Methode sind am flexibelsten !! Server. Die Execute-Methode beansprucht die meisten Ressourcen.
2. Vergleich der drei von asp.net bereitgestellten Methoden zum Springen zur Seite
Sitzung verwendet werden muss. 2 server.transfer ist schnell und erfordert nur ein Postback, aber. . . . Sie muss sich unter derselben Site befinden, da es sich um eine Methode des Servers handelt. Darüber hinaus kann er den Login-Schutz umgehen. Sie können versuchen, ein kleines Programm zu schreiben: Entwerfen Sie einen Sprung von Seite eins zu Seite zwei, aber um Seite zwei aufzurufen, müssen Sie sich anmelden und eine Authentifizierung durchführen. Wenn die Sprunganweisung jedoch eine Übertragung verwendet, wird die Anmeldeseite nicht angezeigt. Die Umleitungsanforderung dieser Methode erfolgt serverseitig, sodass die URL-Adresse des Browsers weiterhin die Adresse der Originalseite behält!
3 sever.execute Diese Methode wird hauptsächlich im Seitendesign verwendet und muss zu Seiten unter derselben Site springen. Diese Methode wird verwendet, wenn die Ausgabeergebnisse einer Seite in eine andere ASPX-Seite eingefügt werden müssen. Die meisten davon befinden sich in
Tabellen, in denen eine bestimmte Seite in einer anderen Seite verschachtelt vorhanden ist.
3. So wählen Sie die Seitenumleitungsmethode aus
Es gibt vier Seitensprung-Navigationsmethoden in asp.net. Wie wähle ich eine für Ihre Seite aus?
·Hyperlinks eignen sich am besten, wenn Sie möchten, dass Benutzer entscheiden, wann sie die Seite wechseln und welche Seite sie aufrufen möchten.
·Wenn Sie ein Programm zur Steuerung des Konvertierungsziels verwenden möchten, der Zeitpunkt der Konvertierung jedoch vom Benutzer bestimmt wird, verwenden Sie das HyperLink-Steuerelement des Webservers, um dessen NavigateUrl -Attribut dynamisch festzulegen.
·Wenn Sie den Benutzer mit einer Ressource auf einem anderen Server verbinden möchten, verwenden Sie Response.Redirect.
·Verwenden Sie Response.Redirect, um Benutzer mit Nicht-ASPX-Ressourcen wie HTML-Seiten zu verbinden.
·Wenn Sie die Abfragezeichenfolge als Teil der URL behalten und an den Server übergeben müssen, da die anderen beiden Methoden keine zwei Postbacks erreichen können, müssen die Daten vorhanden sein Zuerst zum Server zurückgebracht. Verwenden Sie Response.Redirect.
·Wenn Sie den Ausführungsprozess auf eine andere ASPX-Seite auf demselben Webserver übertragen möchten, sollten Sie Server.Transfer anstelle von Response.Redirect verwenden, da Server.Transfer unnötige Netzwerkkommunikation vermeiden und dadurch eine bessere Leistung und Durchsuchen erzielen kann die Auswirkungen.
·Wenn Sie die Ausgabeergebnisse einer ASPX-Seite erfassen und die Ergebnisse dann an einer bestimmten Stelle in eine andere ASPX-Seite einfügen möchten, verwenden Sie Server.Execute.
·Wenn Sie sicherstellen möchten, dass die HTML-Ausgabe legal ist, verwenden Sie bitte Response.Redirect und nicht die Methode Server.Transfer oder Server.Execute.
Übrigens, wie man die Umleitungsmethode verwendet, um chinesische Zeichen in der Abfragezeichenfolge zu verwenden, da häufig verstümmelte Zeichen angezeigt werden, weil die URL keine chinesischen Zeichen unterstützt. Zu diesem Zeitpunkt müssen Sie Folgendes konvertieren:
string message =server.urlencode("Welcome");
zuerst konvertieren und dann die Abfragezeichenfolge
verwenden response .redirect("webform2.aspx?msg="+message);
Über Server.Execute
Diese Seitennavigation ähnelt der einmaligen Funktion für ASPX-Seiten Aufruf, die aufgerufene Seite kann auf die Formulardaten- und Abfragezeichenfolgensammlung der aufrufenden Seite zugreifen, daher muss die EnableViewStateMac-Eigenschaft des Page-Befehls der aufgerufenen Seite auf False gesetzt werden.
Standardmäßig wird die Ausgabe der aufgerufenen Seite an den aktuellen Antwortstream angehängt. Allerdings verfügt die Server.Execute-Methode über eine überladene-Methode, die es ermöglicht, die Ausgabe der aufgerufenen Seite über ein TextWriter-Objekt (oder dessen Unterobjekte, wie z. B. ein StringWriter-Objekt) abzurufen ) statt direkt an den Ausgabestream anhängen, sodass die Position des Ausgabeergebnisses der aufgerufenen Seite auf der Originalseite einfach angepasst werden kann.
MVC-Seitenumleitung ist sehr einfach, hauptsächlich in den folgenden Formen:
1.Response.Redirect(); Methode
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Message"] = "欢迎使用 ASP.NET MVC!"; Response.Redirect("User/News"); return View(); } public ActionResult About() { return View(); } } }
2.Return Redirect();-Methode
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Message"] = "欢迎使用 ASP.NET MVC!"; return Redirect("User/News"); } public ActionResult About() { return View(); } } }
3.Return RedirectToAction();-Methode
Diese Methode hat zwei Überladungen
RedirectToAction("ActionName");// Diese Methode schreibt direkt auf die Seite, die Voraussetzung muss sein, die Seite unter dem Controller zu ändern wie der vorherige Index.aspx und About.aspx
RedirectToAction("ActionName", "ControllerName")//Diese Methode schreibt ActionName und ControllerName direkt, die Voraussetzung muss sein, dass die Seite unter dem geänderten Controller so ist vor Index.aspx und About.aspx
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Message"] = "欢迎使用 ASP.NET MVC!"; return RedirectToAction("News","User"); } public ActionResult About() { return View(); } } }
【Verwandte Empfehlungen】
1 ASP kostenloses Video-Tutorial
3.Li Yanhui ASP grundlegendes Video-Tutorial
Das obige ist der detaillierte Inhalt vonErläuterung des ASP-Codes für die MVC-Seitenumleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!