ASP.NET - 响应重定向到不同的文件夹

时间:2011-12-13 19:48:41

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

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

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

3 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:6)

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

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

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

答案 2 :(得分:3)

这应该可以解决问题

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