我正在构建一个简单的CMS,它将导航/站点地图/站点结构存储在数据库表中。当应用程序启动时,我可以根据该表中的数据动态创建我的站点地图节点。
我遇到的问题是当新的记录添加到表中或者在应用程序运行时更新现有记录时我需要重建站点地图结构。看起来很简单,但我无法弄清楚如何。
答案 0 :(得分:1)
没有内置支持即时清理/重建站点地图。
但是,您可以通过实现派生自MvcSiteMapProvider.DefaultSiteMapProvider
的自定义sitemapprovider,并使用受保护的Clear()
方法创建用于清除缓存的方法,轻松实现此目的。例如:
public class CustomSiteMapProvider : DefaultSiteMapProvider
{
public void ClearSiteMap()
{
Clear();
}
}
我没试过但它应该有用。请记住更改web.config文件以使用自定义sitemapprovider而不是DefaultSiteMapProvider
。