2010-06-02 40 views
10

Tôi đang làm việc với ASP.net. Trang web của tôi được lưu trữ trong thư mục con test trong thư mục gốc của IIS. Vì vậy, url của default.aspx là http://localhost/test/Default.aspx. Từ default.aspx, tôi muốn sử dụng Reponse.Redirect() với đường dẫn tương đối để chuyển hướng đến một url khác trong cùng một trang web, http://localhost/test/whatever.Sử dụng Response.Redirect() đến đường dẫn tương đối

tôi đã cố gắng

Response.Redirect("/whatever"); 

Response.Redirect("~/whatever"); 

Cả hai người đều chuyển hướng đến http://localhost/whatever. Lưu ý rằng phương pháp Redirect sử dụng http://localhost thay vì http://localhost/test/ làm url cơ sở.

Bất kỳ ý tưởng nào?

Cảm ơn.

+0

Tôi đã mắc sai lầm ngớ ngẩn. Response.Redirect ("~/bất cứ điều gì"); nên truy cập http: // localhost/test/any. Cảm ơn tất cả . – Shuo

Trả lời

12

Hãy thử:

Response.Redirect("hello"); 
cũng

Response.Redirect("./hello"); 

Thưởng thức!

2

Xin lỗi nếu tôi quá đơn giản hóa hoặc hiểu lầm câu hỏi của bạn, nhưng bạn đã chỉ đơn giản là cố gắng:

Response.Redirect("hello"); 
0

Hãy thử điều này (ví dụ của tôi là VB.net)

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

Tôi muốn có Utils.RedirectRelative ("~/SomeDirectory/SomePage.aspx") trong một lớp học ở đâu đó nhưng tôi không biết làm thế nào "thực hành tốt" đó là.

Các vấn đề liên quan