2010-05-14 118 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