如何将响应重定向到不同文件夹中的 ASP.NET 页面?

问题描述 投票:0回答:3

我正在尝试在选择时重定向网格视图。但是,当我尝试重定向到的页面位于不同的文件夹中时,我会陷入重定向困境。

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
3个回答
11
投票
Response.Redirect("~/staff/staff.aspx")

7
投票

最主要的是使用

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

您可以使用相关链接完成所有表格。因此

"staff/staff.aspx"
转到当前文件夹中名为 Staff 的文件夹中名为 Staff.aspx 的文件(假设您的系统基于文件夹和文件)。
"../staff/staff.aspx"
转到文件夹,然后转到 Staff,然后转到 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
。这样,相同的代码可以双向工作。
    


3
投票

http://mysite.com/

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.