自定义CMS - 通过新创建的页面导航机制的最佳解决方案

时间:2010-08-19 15:03:05

标签: c# asp.net-mvc content-management-system

我正在使用ASP MVC编写自定义CMS。

我想让用户定义自己的页面(视图)。然后应该在导航菜单中显示该页面结构。所以基本上我正在考虑某种网站导航机制,我应该选择解决这个问题。

我在看ASP.NET Site Navigation

因为我想让用户创建页面,我不认为使用web.sitemap默认 名为XmlSiteMapProvider的提供商是个好主意。这是因为我想在运行时期间在web.sitemap文件中进行修改。在用户创建新页面后,我必须编写修改web.sitemap xml的机制。这意味着插入用于在所需位置上设置页面的特定条目。如果这是个好主意我会犹豫。

另一方面,我正在考虑创建使用数据库的自定义提供程序(Adding dynamic nodes to ASP.NET site maps at runtime)。使用该方法,用户可以定义新页面,然后将有关该页面的信息保存到数据库。回发后,提供者从数据库加载信息并构建菜单。

Mabye有更好的解决方案吗?在CMS中对新创建的页面进行动态nawigation的麻烦做法是什么?

(PS。我已经为新创建的页面配置了动态路由,所以这不是我的问题。)

2 个答案:

答案 0 :(得分:0)

你看过Orchard了吗?它是Codeplex上的CMS。它可能会为您提供一些灵感。如果他们没有和你一样的问题,我会感到惊讶。

答案 1 :(得分:0)

MVCSiteMap项目的新2.0版本(http://mvcsitemap.codeplex.com/)有一个新的(并且设计得非常好)DynamicSiteMapNodeProvider功能,它可以完全满足您的需求。

作为副作用,它还可以很容易地为您添加基于MVC控制器/动作的节点。

我不能推荐这个项目。它已经成熟并且成长得非常好。