3

私は最初の非常に独自のSiteMapProviderサブクラスを作成しようとしています。Web で見つけたすべての例と同様に、さまざまなデータベース ルックアップを使用して動的に入力することを意図しています。

しかし、私には非常に不明確なことがたくさんあります。これが私の最初の2つの質問です。

  • StaticSiteMapProviderの代わりに、事実上すべてのプロジェクトで使用されるのはなぜSiteMapProviderですか? クラスには「静的」という名前が含まれているため、私が望んでいるほど動的ではないという印象を受けています。
  • SiteMapProvider誰かが静的データのみを使用してマップにデータを入力する、つまりデータベースアクセスなどを行わない、超最小限のサブクラスを提供できますか?
4

1 に答える 1

3

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;
    }
}

私はこれをチェックしませんでしたが、動作するはずです。

于 2009-11-11T17:02:30.327 に答える