2009-05-28 6 views
5

Ich habe einen Basiscontroller erstellt, der Initialize überschreibt und einen Cookie setzt und einige Daten in der DB speichert. Hier muss ich auch prüfen, ob ein Cookie gesetzt ist und ob er nicht auf eine Fehlerseite umgeleitet wird.ASP.NET Umleitung in einem Basiscontroller

Benutzer dieser Site kommen von einem Ladenlokator auf einer anderen Site, die die Store-ID an mich weitergibt und ich setze sie in einen Cookie. Ich muss sicherstellen, dass eine ID gespeichert wird und wenn nicht, übergebe sie an einen Fehler oder zurück, um einen Laden zu wählen.

Ich habe Probleme, diesen Fehler im Basiscontroller umzuleiten oder anzuzeigen. Ich habe sogar den Konstruktor des Controllers ausprobiert. Unten ist Code, den ich in Initialize override versuche, aber der ControllerContext ist zu diesem Zeitpunkt null?

 if (StoreID == null) 
     { 
      View("StoreError").ExecuteResult(ControllerContext); 
      return; 
     } 
+0

Sehr klare Erklärung von @Darin: http://stackoverflow.com/questions/4793452/mvc-redirect-inside-the-constructor –

Antwort

6

Folgendes hat der Trick ...

requestContext.HttpContext.Response.Redirect("/home/storeError"); 
2

richtige Art und Weise würde ich denken

Return RedirectToAction("StoreError","Home"); 

nicht sein?

Verwandte Themen