【问题标题】:Adding nodes to mvcsitemap in code在代码中将节点添加到 mvcsitemap
【发布时间】:2012-07-28 02:31:57
【问题描述】:

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

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

【问题讨论】:

    标签: mvcsitemapprovider asp.net-mvc-sitemap


    【解决方案1】:

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

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

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

    【讨论】:

    • 我已经有一个自定义站点地图提供程序,我会试一试......谢谢
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多