2010-06-02 4 views
10

Je travaille avec ASP.net. Mon site web est hébergé dans un sous-répertoire test sous le répertoire racine IIS. Donc, l'URL de default.aspx est http://localhost/test/Default.aspx. De default.aspx, je veux utiliser Reponse.Redirect() avec un chemin relatif à rediriger vers une autre URL dans le même site Web, http://localhost/test/whatever.Utilisation de Response.Redirect() sur un chemin relatif

J'ai essayé

Response.Redirect("/whatever"); 

et

Response.Redirect("~/whatever"); 

deux les rediriger vers http://localhost/whatever. Notez que la méthode Redirect utilise http://localhost au lieu de http://localhost/test/ comme URL de base.

Des idées?

Merci.

+0

J'ai fait moi-même une erreur idiote. Response.Redirect ("~/any"); devrait aller à http: // localhost/test/whatever. Merci à tous . – Shuo

Répondre

12

Essayez:

Response.Redirect("hello"); 

également

Response.Redirect("./hello"); 

Amusez-vous!

2

Désolé si je suis trop simplifier ou malentendu votre question, mais avez-vous simplement essayé:

Response.Redirect("hello"); 
0

Essayez ceci (mon exemple est VB.net)

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

J'aime avoir Utils.RedirectRelative ("~/unrépertoire/SomePage.aspx") dans une classe quelque part, mais je ne sais pas comment "bonne pratique" c'est-à-dire.