0
我正在构建一个简单的CMS,将导航/站点地图/站点结构存储在数据库表中。当应用程序启动时,我可以根据该表中的数据动态创建我的站点地图节点。在代码中向mvcsitemap添加节点
我遇到的问题是当新的记录被添加到表中或现有的更新,而应用程序正在运行时,我需要重建站点地图结构。似乎很简单,但我不知道如何。
我正在构建一个简单的CMS,将导航/站点地图/站点结构存储在数据库表中。当应用程序启动时,我可以根据该表中的数据动态创建我的站点地图节点。在代码中向mvcsitemap添加节点
我遇到的问题是当新的记录被添加到表中或现有的更新,而应用程序正在运行时,我需要重建站点地图结构。似乎很简单,但我不知道如何。
没有内置支持清除/重建站点地图的动态。
但是,您可以通过实现派生自MvcSiteMapProvider.DefaultSiteMapProvider
的自定义sitemapprovider,并使用受保护的Clear()
方法创建用于清除缓存的方法,从而轻松实现此目的。例如:
public class CustomSiteMapProvider : DefaultSiteMapProvider
{
public void ClearSiteMap()
{
Clear();
}
}
我还没有尝试过,但它应该工作。请记住更改web.config文件以使用自定义sitemapprovider而不是DefaultSiteMapProvider
。
我有一个自定义的网站地图提供商已经到位,我会给这个尝试..谢谢 – JBeckton 2012-07-30 14:06:46