2012-01-15 83 views
0

我在主页面上使用ASP.NET 4.0 Web窗体。我在我的Global.asax.cs文件中的下列路由规则:从子文件夹路由页面

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

它,当我修改上面的规则,从根本上显示的内容页工作正常。当我使用http://localhost/church/ministries导航到页面时,页面显示目录视图。我错过了什么?

回答

2

为路由命名并更改文件夹名称,因为路由和文件夹名称发生冲突。

routes.MapPageRoute("ministries", "Ministries", "~/Ministry/Ministries.aspx"); 

,你必须导航到它像这样(从ASP:LinkBut​​ton的例子,随便用)

NavigateUrl="<%$RouteUrl:RouteName=ministries %>" 

只是硬编码的路径不通过ASP的路由引擎发送,你指点一下到目录,它不知道更好。

+0

使用此语法创建链接,它仍然显示目录视图... – IrishChieftain 2012-01-15 15:49:04

+1

ahh ...文件夹名称与路由相同。重命名文件夹并调整路线,应该可以工作。目录视图将优先于路由。 – justinlabenne 2012-01-15 16:30:45

+0

这样做。为了澄清,我重新创建了Web表单以确保它是正确的,并使用了以下规则:routes.MapPageRoute(“Ministries”,“Ministries”,“〜/ Ministry/Ministries.aspx”); – IrishChieftain 2012-01-15 16:36:22