2010-05-14 111 views
0

我有一個文件夾結構是這樣的:
ASP.NET 4.0路由和子文件夾

www.mysite.com/About/About.aspx 

我有這樣的用戶控件的鏈接:

<a href="~/About/About" id="aboutLink" title="About" runat="server">About</a> 

而且在我的RegisterRoutes()方法,我有這個:

routes.MapPageRoute("", "About/About/", "~/About/About.aspx"); 

它的工作原理,但產生以下URL:

www.mysite.com/About/About 

我想是這樣的:

www.mysite.com/About 

這可能與外的開箱4.0路由?

更新2 - 2010年5月14日:

顯然,我被命名的.aspx Web表單一樣的包含文件夾推出一個額外的問題。最後,這是對我工作:

RouteTable.Routes.MapPageRoute("", "About/", "~/AboutUs/About.aspx"); 

<asp:HyperLink ID="aboutLink" NavigateUrl="~/About" 
    Text="About" runat="server"></asp:HyperLink> 

由拉吉提供的鏈接幫助我找到答案:-)
http://msdn.microsoft.com/en-us/library/cc668201.aspx

回答

0

a標籤鏈接/About/About,所以,自然,這就是你得到。您是否嘗試使其指向/About? (並相應地更改路線定義)

或者我誤解了這個問題?

+0

我想我通過命名Web窗體相同的文件夾... – IrishChieftain 2010-05-15 00:58:07

1

第二個參數是URL的外觀並訪問虛擬頁面會做的伎倆

// Global.asax 
void Application_Start(object sender, EventArgs e) 
{ 
    // Code that runs on application startup 
    System.Web.Routing.RouteTable.Routes.MapPageRoute("", "About", "~/About/About.aspx"); 
} 


<a href="/About" id="aboutLink" title="About" runat="server">About</a> 
+0

我已經編輯了問題,改爲「mysite的」與「www.mysite推出一個額外的問題.com「 – IrishChieftain 2010-05-14 01:59:59

+0

給我一個403.14 - 禁止 – IrishChieftain 2010-05-14 03:09:20

+0

我現在注意到了@Fyodor的感謝。您在HTML控件中使用相對路徑。你無法做到這一點,你需要一個ASP:超鏈接,或只是完整的路徑。我修好了它。 – BrunoLM 2010-05-14 03:11:04