2010-06-02 10 views
10

Ich arbeite mit ASP.net. Meine Website befindet sich in einem Unterordner test im IIS-Stammverzeichnis. Die URL von default.aspx ist also http://localhost/test/Default.aspx. Von default.aspx möchte ich Reponse.Redirect() mit einem relativen Pfad zu einer anderen URL innerhalb derselben Website, , umleiten.Verwenden von Response.Redirect() auf einen relativen Pfad

Ich versuchte

Response.Redirect("/whatever"); 

und

Response.Redirect("~/whatever"); 

von ihnen umleiten Beide zu http://localhost/whatever. Beachten Sie, dass die Methode Redirecthttp://localhost anstelle von http://localhost/test/ als Basis-URL verwendet.

Irgendwelche Ideen?

Danke.

+0

Ich habe selbst einen dummen Fehler gemacht. Response.Redirect ("~/was auch immer"); sollte zu http: // localhost/test/was auch immer gehen. Danke euch allen . – Shuo

Antwort

12

Versuchen:

Response.Redirect("hello"); 

auch

Response.Redirect("./hello"); 

Viel Spaß!

2

Sorry, wenn ich über Vereinfachung oder Ihre Frage Missverständnis, aber haben Sie einfach versucht:

Response.Redirect("hello"); 
0

Versuchen Sie dies (mein Beispiel ist VB.net)

Dim url As String = "~/SomeDirectory/SomePage.aspx" 
    Response.Redirect(url.Replace("~"c, Request.ApplicationPath)) 

Ich mag Utils.RedirectRelative haben ("~/somedirectory/SomePage.aspx") in einer Klasse irgendwo, aber ich weiß nicht, wie "gute Praxis" ist das.

Verwandte Themen