在IIS中添加应用程序后,aspx页面无法正常工作

时间:2016-03-04 08:13:12

标签: 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>

在我的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

我在做什么?我可以在不使用任何代码更改的情况下实现此目的。

4 个答案:

答案 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.