2009-06-12 16 views
3

Was ist der Unterschied zwischen dem Aufruf von Response.Redirect aus dem Codebehind einer Seite im Vergleich zu dem Aufruf von HttpContext.Current.Response.Redirect von einer gemeinsamen Methode auf einer anderen Klasse?Response.Redirect

Wenn ich HttpContext.Current.Response.Redirect anrufen, gibt es mir manchmal einen 404 Fehler, wenn Page.Respsone.Redirect ruft nicht.

EDIT:

Hoppla, mein Fehler, es war ein Tippfehler.

Antwort

9

Es gibt keinen Unterschied (der Getter für Page.Request einfach eine Referenz auf HttpContext.Current.Request - Sie haben ein bisschen in Reflector zu graben, aber es ist da) - zwischen den beiden Methoden ist die HTTP404 Sie als Ergebnis sehen, ist die Antwort vom Server und hängt vollständig von dem Wert ab, der an die Methode Redirect übergeben wird.

+0

Ich stimme zu - Durch die Web-Server-Protokolle sollte es leicht ersichtlich sein, warum der 404 auftritt. – RichardOD

2

Sie erhalten nur den Fehler 404, wenn Ihre URL auf eine nicht vorhandene Seite zeigt. Diese beiden Methoden sind identisch, Ihr Code ist das Problem.