2012-07-28 47 views
0

我正在构建一个简单的CMS,将导航/站点地图/站点结构存储在数据库表中。当应用程序启动时,我可以根据该表中的数据动态创建我的站点地图节点。在代码中向mvcsitemap添加节点

我遇到的问题是当新的记录被添加到表中或现有的更新,而应用程序正在运行时,我需要重建站点地图结构。似乎很简单,但我不知道如何。

回答

1

没有内置支持清除/重建站点地图的动态。
但是,您可以通过实现派生自MvcSiteMapProvider.DefaultSiteMapProvider的自定义sitemapprovider,并使用受保护的Clear()方法创建用于清除缓存的方法,从而轻松实现此目的。例如:

public class CustomSiteMapProvider : DefaultSiteMapProvider 
{ 
    public void ClearSiteMap() 
    { 
    Clear(); 
    } 
} 

我还没有尝试过,但它应该工作。请记住更改web.config文件以使用自定义sitemapprovider而不是DefaultSiteMapProvider

+0

我有一个自定义的网站地图提供商已经到位,我会给这个尝试..谢谢 – JBeckton 2012-07-30 14:06:46