【问题标题】:Correct way to do a Response.Redirect from one page to another on the same site在同一站点上执行 Response.Redirect 从一个页面到另一个页面的正确方法
【发布时间】:2015-04-10 04:01:38
【问题描述】:

我相信这个问题已经被问过一遍又一遍了。是的,我已经搜索过了。但是,我找不到一个可以清楚地展示我想要完成的目标的示例。

我目前在mywebsite/test.aspx,我想重定向到mywebsite/testing.aspx。但是,我希望此重定向能够在服务器上和 Visual Studio 的调试中实时工作。我试过了

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

然而,这取代了整个事情。

希望这是有道理的 - mywebsite/test.aspx 应该重定向到 mywebsite/testing.aspx

【问题讨论】:

    标签: c# asp.net request


    【解决方案1】:

    使用应用程序相对 URL。 ~/ 代表应用程序根路径,因此它适用于 //virtual-directory/

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

    【讨论】:

      【解决方案2】:

      如果您的页面位于同一目录级别,则可以使用:

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

      如果您的页面位于应用程序根目录,您可以使用以下命令:

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

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

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

      【讨论】:

        【解决方案3】:

        您可以使用相对于网站根目录的 url。 这些网址总是以/ 开头,意思是“root”

        对于Response.Redirect 和您知道的任何其他 url 将由服务器处理(如服务器控件中指定的 url),最好以 ~/ 作为 root 启动 url,这将有助于虚拟目录混乱。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-03
          • 1970-01-01
          • 1970-01-01
          • 2015-03-29
          • 2015-04-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多