我有网络应用程序。在我的母版页面中,我有几个链接按钮,如下所示
<asp:LinkButton ID="link1" runat="server" OnClick="linkAge_Click">Age</asp:LinkButton>
<asp:LinkButton ID="link2" runat="server" OnClick="linkName_Click">Name</asp:LinkButton>
在我的Visual Studio中,我有一个名为Age and Name的单独文件夹,其下有default.aspx。
点击链接按钮的事件我有这个代码
protected void linkAge_Click(object sender, EventArgs e)
{
Response.Redirect("/Age/");
}
protected void linkName_Click(object sender, EventArgs e)
{
Response.Redirect("/Name/");
}
在IIS中我添加了名为&#34; Test&#34;然后在其中添加所有代码
当我浏览时,我以http://localhost:80/Test
进入母版页当我点击链接&#34;年龄&#34;网址更改为http://localhost:80/Age
我预计它会是http://localhost:80/Test/Age
我在做什么?我可以在不使用任何代码更改的情况下实现此目的。
答案 0 :(得分:0)
尝试使用http://localhost/Test/(最后使用斜杠)链接到您的浏览器。
答案 1 :(得分:0)
您需要添加波浪号(〜)以获取相对于应用程序根目录的URL:
# -*- coding: utf-8 -*-
BTW:为什么你需要在回发后面进行重定向?您可以使用Response.Redirect("~/Age/");
代替
答案 2 :(得分:0)
就像我们在mvc中这样做以从root获取路径 - Url.Content(“〜\ Action \”)
以网络形式 -
protected void linkAge_Click(object sender, EventArgs e)
{
Response.Redirect(Server.MapPath("~/Age/"));
}
我认为你应该这样想。
答案 3 :(得分:0)
Since you're using only the /Age/
path, with nothing to indicate that you're using a relative path. For code managed by IIS, you'd use ~/Age/Whatever
to indicate that you intend to go to Age
relative to Test
.