当我在visual studio中运行它时,这行运行得很好。
Response.Redirect("/MyFolder/MyPage.aspx?param=n")
然而,它在测试服务器中的行为方式很奇怪。错误的原因是测试服务器中的结构与我的visual studio中的结构不一样。解决方案是在服务器在另一个文件夹。
OuterFolder/MyFolder/MyPage.aspx?param=n
所以服务器期望的是:mydomain.com/OuterFolder/MyFolder/MyPage.aspx?param=n
但是发送的请求是:mydomain.com/MyFolder/MyPage.aspx?param=n
这就是为什么我得到一个404。
我想无论解决方案在文件夹中有多深,都必须有一种方法来考虑路径
您尝试过从应用程序根解决它吗?
Response.Redirect("~/MyFolder/MyPage.aspx?param=n")
我将假设您已经在默认网站(?)下设置了OuterFolder作为应用程序/虚拟目录。
在这种情况下,你应该试试这个:
Response.Redirect("~/MyFolder/MyPage.aspx?param=n")