2016-04-26 9 views
-2

Ich habe ein einfaches Projekt mit einer Menüleiste, die der Server auf jeder Seite ausführt. Ich möchte den Zugriff auf die Seiten für nicht registrierte Benutzer verhindern, so habe ich diesen CodeResponse.Redirect problam

if (Session["username"] == null) 
     Response.Redirect("HomePageWebSite.aspx"); 

Als ich die Homepage durch seine selbst laden es funktioniert normal, aber wenn ich diesen Code verwenden, sagt der Browser, dass es finde diese Seite nicht (Zugriff auf diese Seite nicht möglich). Ich habe die URL der Homepage überprüft und es ist dieselbe, auf die der Server nicht zugreifen kann. Wie kann ich dieses Problem lösen?

+2

Sind Ihre anderen Seiten in einem Unterverzeichnis? Verwenden Sie also 'Response.Redirect (" ~/HomePageWebSite.aspx ");' – NotMe

Antwort

6

Wenn Ihre Homepage ist in der Wurzel ändern, wie Sie den Code unten:

if (Session["username"] == null) 
    Response.Redirect("/HomePageWebSite.aspx"); 

Die „/“ am Anfang immer aus dem Stammverzeichnis nachschlagen. Wenn Sie das "/" nicht angeben, sucht es immer im aktuellen Verzeichnis, was zu Problemen führen kann, wenn Sie verschachtelte Verzeichnisse haben.

+0

Immer noch die gleiche Fehlermeldung .... –

+0

Haben Sie den absoluten Pfad von HomePageWebSite.aspx angegeben? – randominstanceOfLivingThing

+0

Was meinst du mit absulute Weg? –