CMS的URL路由

时间:2012-01-28 07:07:14

标签: asp.net content-management-system url-routing

我正在开发一个CMS,它将用户内容存储在数据库表中,如下所示:

----------------------------------------
PageId   | PageTitle(Unique) |  Content 
----------------------------------------
1        | PageOne           | ...
2        | PageTwo           | ...
3        | PageThree         | ...
4        | PageFour          | ...

现在我在根目录下有一个aspx页面“SitePageFactory.aspx”,当查询字符串传递给它时提供动态内容,假设传递/SitePageFactory.aspx?pgid=1然后它为PageOne提供内容。

上述概念运作良好。

现在我想进一步向此应用程序添加动态路由,并将 /SitePageFactory.aspx?pgid=1 修改为 /PageOne.aspx 无法在根级别执行

注意:目前我可以像 /SitePageFactory/PageOne.aspx 那样执行路由,但我希望结果位于根级别。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ASP.NET路由来完成此任务。

路由让您将以下网址映射到:www.mysite.com/pages/pageone到aspx页面。您网址中的不同部分可以映射到您可以在aspx中访问的路由参数。

Here is the MSDN documentation用于路由。

您可以添加以下路线:

routes.MapRoute("ViewPage",
                "<PageName>",
                new { controller = "Page", action = "ViewPage" }

这会将网址www.yourdomain /映射到Page控制器ViewPage方法。