【问题标题】:ASP.NET - Response redirect to different folderASP.NET - 响应重定向到不同的文件夹
【发布时间】:2012-01-19 16:21:46
【问题描述】:

我正在尝试在选择时重定向网格视图。但是,当我尝试重定向到的页面位于不同的文件夹中时,我遇到了重定向问题。

gridview 位于名为 HR 的文件夹中。我正在尝试将此重定向到名为 Staff (Staff\Staff) 的文件夹中的一个名为 Staff 的文件。如何重定向到其他文件夹?

    If e.CommandName = "Select" Then
        'Add to session variable; translate the index of clicked to Primary Key
        Session.Add("DetailsKey", GridView1.DataKeys(e.CommandArgument).Value.ToString)
        Response.Redirect("staff\staff.aspx")
    End If

【问题讨论】:

    标签: asp.net vb.net gridview response.redirect


    【解决方案1】:
    Response.Redirect("~/staff/staff.aspx")
    

    【讨论】:

      【解决方案2】:

      这应该可以解决问题

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

      【讨论】:

        【解决方案3】:

        主要是使用/ 而不是\。您不是重定向到服务器上的文件夹,而是重定向到网站上的路径(这意味着服务器上的文件夹只是一个实现细节)。

        您可以使用相对链接完成所有表单。因此"staff/staff.aspx" 转到当前文件夹中名为staff 的文件夹中名为staff.aspx 的文件(假设您的基于文件夹和文件的系统)。 "../staff/staff.aspx" 上一个文件夹,然后是人员,然后是人员.aspx。 "../../staff/staff.aspx" 先上升两个。 "/staff/staff.aspx" 转到域的根目录(http://mysite.com/staff/staff.aspx 等)。

        除了所有这些之外,"~/staff/staff.aspx" 会进入应用程序的根目录,然后是其中的员工,然后是 staff.aspx。如果您在该站点上工作,这将非常有用,因为该项目位于 http://localhost/currentProject/,但部署到 http://mysite.com/staff/staff.aspx,因为该站点位于 http://mysite.com/。这样,相同的代码可以双向工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-12
          • 1970-01-01
          • 2013-09-30
          • 1970-01-01
          • 1970-01-01
          • 2017-07-04
          • 2021-10-21
          相关资源
          最近更新 更多