2015-11-15 41 views
0

我對Url路由很熟悉,並且卡住速度非常快。我試圖調整根文件夾中的一個文件的URL,因此,而不是「http://localhost:55805/Maps.aspx」,它只顯示「http://localhost:55805/maps」。簡單的東西,沒有參數等。我創建了Global.asax文件並添加了以下代碼。ASP.NET Url路由基礎知識

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> 

有沒有人有一個想法,我應該如何調整代碼。我嘗試了各種<%GetRouteUrl ...%>命令,但沒有幫助。是由它的非服務器控制引起的嗎?試圖改爲使用超鏈接,但沒有幫助。我正在使用.NET版本4.5。

非常感謝

回答

1

有幾種方法:

1.-使用RouteUrl expresion和超鏈接

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

2:使用虛擬地址和超鏈接

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

3.-使用RUNAT服務器錨和RouteUr1表達

<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> 
0

您是否嘗試過只使用<a class="fill-div" href="/maps">

+0

Thanks!我似乎誤解了整個東西應該如何工作...... – Jozef