0

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

我遇到的问题是,在应用程序运行时将新记录添加到表中或更新现有记录时,我需要重建站点地图结构。看起来很简单,但我不知道怎么做。

4

1 回答 1

1

没有对即时清除/重建站点地图的内置支持。
但是您可以很容易地自己实现这一点,方法是实现一个从 派生的自定义站点地图提供程序MvcSiteMapProvider.DefaultSiteMapProvider,并使用受保护的方法创建一个用于清除缓存的Clear()方法。例子:

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

我还没有尝试过,但它应该可以工作。请记住将 web.config 文件更改为使用自定义站点地图提供程序而不是DefaultSiteMapProvider.

于 2012-07-28T23:41:42.337 回答