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

use*_*487 4 vb.net asp.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
Run Code Online (Sandbox Code Playgroud)

dan*_*wig 11

Response.Redirect("~/staff/staff.aspx")
Run Code Online (Sandbox Code Playgroud)


Jon*_*nna 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/.这样,相同的代码可以双向工作.