C# 在IIS中添加应用程序后,aspx页面不工作
我有一个网络应用程序。在我的主页中,我有几个链接按钮,如下所示C# 在IIS中添加应用程序后,aspx页面不工作,c#,asp.net,iis,C#,Asp.net,Iis,我有一个网络应用程序。在我的主页中,我有几个链接按钮,如下所示 <asp:LinkButton ID="link1" runat="server" OnClick="linkAge_Click">Age</asp:LinkButton> <asp:LinkButton ID="link2" runat="server" OnClick="linkName_Click">Name</asp:LinkButton> 在IIS中,我添加了名为“T
<asp:LinkButton ID="link1" runat="server" OnClick="linkAge_Click">Age</asp:LinkButton>
<asp:LinkButton ID="link2" runat="server" OnClick="linkName_Click">Name</asp:LinkButton>
在IIS中,我添加了名为“Test”的应用程序,然后在其中添加了所有代码
当我浏览时,我进入母版页
当我点击链接“年龄”时,url变为
我原以为是这样的
我做错了什么?我可以在不使用任何代码更改的情况下实现这一点。尝试使用(结尾带斜杠)链接到浏览器。尝试使用(结尾带斜杠)链接到浏览器。您需要添加一个波浪号(~)以获取与应用程序根相关的URL:
Response.Redirect("~/Age/");
顺便说一句:为什么你需要把重定向放在帖子后面?您可以使用
代替您需要添加一个波浪号(~)来获取相对于应用程序根的URL:
Response.Redirect("~/Age/");
顺便说一句:为什么你需要把重定向放在帖子后面?您可以使用
代替,就像我们在mvc中所做的那样,从root-Url.Content(“~\Action\”)获取路径
以网页形式—
protected void linkAge_Click(object sender, EventArgs e)
{
Response.Redirect(Server.MapPath("~/Age/"));
}
我想你应该这样想。就像我们在mvc中这样做是为了从root-Url.Content(“~\Action\”)获取路径 以网页形式—
protected void linkAge_Click(object sender, EventArgs e)
{
Response.Redirect(Server.MapPath("~/Age/"));
}
我想你应该这样想。因为你只使用了
/Age/
路径,没有任何东西表明你使用的是相对路径。对于IIS管理的代码,您可以使用~/Age/which
来表示您打算相对于测试
转到Age
,因为您只使用/Age/
路径,而不使用任何指示您正在使用相对路径。对于IIS管理的代码,您可以使用~/Age/which
来表示您打算相对于Test
转到Age
,它不会将“Test”视为您的母版页。尝试将重定向代码编辑到“/Test/Age/”并查看结果。@Apollo当然可以,但正如我所说,我不希望更改代码,我看到了。还有其他方法可以执行您要求的操作,但它们需要在代码中进行更改。我会四处寻找其他的选择。如果“Test”文件夹不在根目录下,则可能会发生这种混淆。你检查过了吗?最好的方法是将路由规则添加到你的global.asax页面,但它不会将“Test”作为你的母版页。尝试将重定向代码编辑到“/Test/Age/”并查看结果。@Apollo当然可以,但正如我所说,我不希望更改代码,我看到了。还有其他方法可以执行您要求的操作,但它们需要在代码中进行更改。我会四处寻找其他的选择。如果“Test”文件夹不在根目录下,则可能会发生这种混淆。检查了吗?最好的方法是将路由规则添加到global.asax页面,仅当您在Windows Server上时查看:将应用程序部署为网站,而不是Web应用程序我不能将网站放在其他网站下,因此我添加了应用程序仅当您在Windows Server上时:将应用程序部署为网站,而不是一个网络应用程序我不能有另一个网站下的网站,因此我添加了应用程序