ASP.NET URL路由基础知识

时间:2015-11-15 12:57:37

标签: c# asp.net url-routing

我熟悉Url路由并且卡住得非常快。我正在尝试调整根文件夹中的一个文件的网址,因此它不是“http://localhost:55805/Maps.aspx”,而是仅显示“http://localhost:55805/maps”。简单的东西,没有参数等我创建了Global.asax文件并添加了以下代码。

protected void Application_Start(object sender, EventArgs e)
        {
            routes.MapPageRoute("maproute", "maps", "~/Maps.aspx");
        }

我打电话的链接看起来像这样。

<div id="Div6" class="menuitem"><h3><a class="fill-div" href="../Maps.aspx")">Maps</a></h3></div>

有没有人知道我应该如何调整代码。我尝试了各种&lt;%GetRouteUrl ...%&gt;命令,但没有帮助。是不是因为它不是服务器控制的事实?试图使用超链接,但没有帮助。我使用的是.NET 4.5版。

非常感谢

2 个答案:

答案 0 :(得分:1)

有几种方法:

1.-使用RouteUrl expresion和HyperLink

<asp:HyperLink ID="HyperLink1" runat="server" 
    NavigateUrl="<%$RouteUrl:routename=maproute%>">
   Maps
</asp:HyperLink>

2.-使用虚拟URL和HyperLink

<asp:HyperLink ID="HyperLink1" runat="server" 
    NavigateUrl="~/maps">
    Maps
</asp:HyperLink>

3.-使用runat服务器锚点和RouteUrl表达式

<a class="fill-div" href="<%$RouteUrl:routename=maproute%>" runat="server">Maps</a>

4.-使用runat服务器锚点和虚拟URL

<a class="fill-div" href="~/maps" runat="server">Maps</a>

答案 1 :(得分:0)

您是否尝试过使用<a class="fill-div" href="/maps">