在同一网站上从一个页面重定向到另一个页面的正确方法是什么?

7

我相信这个问题已经被问过很多次。是的,我已经搜索过了。然而,我无法找到一个清晰地演示我想要实现的示例。

我目前在 mywebsite/test.aspx 页面上,我希望重定向到 mywebsite/testing.aspx 页面。但我希望这个重定向既可以在服务器上实时工作,也可以在 visual studio 的调试中工作。我尝试过

Response.Redirect(Request.RawUrl.Replace(Request.RawUrl,"testing.aspx")) 

然而,这将替换整个内容。
希望这讲得通 - mywebsite/test.aspx 应该重定向到 mywebsite/testing.aspx
3个回答

15

使用应用程序相对 URL。 ~/ 表示应用程序的根路径,因此它适用于 //virtual-directory/ 两种情况。

Response.Redirect("~/testing.aspx");

7
如果您的页面与目录级别相同,您只需使用以下内容:
Response.Redirect("testing.aspx", false);

如果您的页面是在应用的根目录下,您可以使用以下命令:

Response.Redirect("~/testing.aspx", false);

最后,如果您的页面位于当前页面的子目录中,则可以使用以下方式:

Response.Redirect("MyFolder/testing.aspx", false);

1

您可以使用相对于网站根目录的URL。 这些URL始终以/开头,表示“根”

对于Response.Redirect和任何其他您知道将由服务器处理的URL(例如在服务器控件中指定的URL),最好以〜/作为根开始,这将有助于解决虚拟目录混乱问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接