2010-06-02 6 views
10

Я работаю с ASP.net. Мой сайт размещен в подпапке test в корневом каталоге IIS. Таким образом, адрес default.aspx равен http://localhost/test/Default.aspx. Из default.aspx, я хочу использовать Reponse.Redirect() с относительным путем перенаправления на другой URL-адрес на том же веб-сайте, http://localhost/test/whatever.Использование Response.Redirect() для относительного пути

Я попытался

Response.Redirect("/whatever"); 

и

Response.Redirect("~/whatever"); 

Оба перенаправлять http://localhost/whatever. Обратите внимание, что метод Redirect использует http://localhost вместо http://localhost/test/ как базовый url.

Любые идеи?

Спасибо.

+0

Я сам сделал глупую ошибку. Response.Redirect ("~/все"); следует перейти к http: // localhost/test/whatever. Спасибо вам всем . – Shuo

ответ

12

Try:

Response.Redirect("hello"); 

также

Response.Redirect("./hello"); 

Наслаждайтесь!

2

Извините, если я чрезмерно упрощая или недопонимание ваш вопрос, но вы просто пытались:

Response.Redirect("hello"); 
0

Попробуйте это (мой пример VB.net)

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

Я хотел бы иметь Utils.RedirectRelative ("~/SomeDirectory/SomePage.aspx") в классе где-то, но я не знаю, как «хорошая практика».

Смежные вопросы