我想写我的第一个 SiteMapProvider 子类。它本来可以使用一堆不同的数据库查找动态填充,就像我在网络上找到的所有示例一样。

但是,对于我来说,有很多事情还不清楚。这是我的两个第一个问题:

  • 为什么是 StaticSiteMapProvider 用于几乎每个人的项目而不是 SiteMapProvider?由于该类包含“ static”的名称,因此我得到的印象是它不那么……好,动态的。
  • 有人可以为我提供超级最小的 SiteMapProvider 仅使用静态数据填充地图的子类,即没有数据库访问等?
有帮助吗?

解决方案

SiteMapProvider 可以是动态的。例如,它可以仅适用于节点的动态查找。与...相比 StaticSiteMapProvider 您应该知道整个结构。因此,您可以决定选择什么。

你可以看一下 XmlSiteMapProvider, ,这是“静态”地图提供商的好示例。

public class CoolMapProvider : StaticSiteMapProvider
{
    public override SiteMapNode BuildSiteMap()
    {
        var root = new SiteMapNode(this, "test", "~/test.aspx");
        base.AddNode(root, null);

        base.AddNode(new SiteMapNode(this, "test-child", "~/test_child.aspx"), root);

        return root;
    }
}

我没有检查过,但应该起作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top