Umleitung auf eine Aktion von Application_BeginRequest in global.asax
In meinem web-Anwendung, die ich bin überprüfung der url von glabal.asax . Ich möchte überprüfen Sie die url und müssen eine Umleitung zu einem handeln, wenn nötig. Ich bin mit Application_BeginRequest abfangen der Anfrage-Ereignis.
protected void Application_BeginRequest(object sender, EventArgs e)
{
//If the product is not registered then
//redirect the user to product registraion page.
if (Application[ApplicationVarInfo.ProductNotRegistered] != null)
{
//HOW TO REDIRECT TO ACTION (action=register,controller=product)
}
}
Oder gibt es eine andere Möglichkeit zu überprüfen, jede url, während Anfragen in mvc und leiten Sie auf eine Aktion, die, wenn nötig
- Mögliche Duplikate von stackoverflow.com/questions/580728/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle oben nicht funktionieren, werden Sie in der Schleife ausführen der Methode
Application_BeginRequest
.Müssen Sie
Verwenden Sie den folgenden code für die Umleitung
"Default" - route-Namen. Wenn Sie umgeleitet werden sollen, jede Aktion,einfach eine route erstellen und verwenden von route-name .
Neben den bereits erwähnten Arten. Ein anderer Weg ist mit URLHelper, die ich verwendet habe in einem Szenario einmal Fehler passiert, der Benutzer umgeleitet werden soll, um die Login-Seite :
Versuchen Sie dies:
Ich es so machen:
diese Weise Sie wickeln die eingehenden request-Kontext und leiten es an woanders, ohne dass Sie den client. So wird der redirect nicht der Auslöser BeginRequest in der globalen.asax.
Application_BeginRequest
.Hatte ich eine alte web-forms-Anwendung, die ich hatte, zu konvertieren, zu MVC 5 und eine der Anforderungen war die Unterstützung möglich {old_form}.aspx-links. In Global.asax Application_BeginRequest-ich habe eine switch-Anweisung zu behandeln alte Seiten umleiten, um die neuen und vermeiden mögliche unerwünschte schleifenbildung zu Hause/Standard-route prüfen ".aspx" in der Anfrage ist die Reine URL.
Können Sie mit dieser versuchen:
Kontext.Antwort.Redirect();
Nt sicher.