Question

Je suis en train d'écrire mon premier propre sous-classe de SiteMapProvider. Il est destiné à être peuplé dynamiquement en utilisant un tas de différentes bases de données de recherches, un peu comme tous les exemples que j'ai trouvé sur le web.

Cependant, il y a tout un tas de choses qui sont tout à fait clair pour moi. Voici mes deux premières questions:

  • Pourquoi est-StaticSiteMapProvider utilisé dans pratiquement tout le monde au lieu de projet de SiteMapProvider? Étant donné que la classe contient le nom « statique », je reçois l'impression que ce n'est pas aussi bien ..., dynamique comme je le veux.
  • Quelqu'un peut-il me fournir une sous-classe de super-SiteMapProvider qui minimalistic la carte en utilisant remplit uniquement les données statiques, à savoir pas d'accès de base de données, etc.
Était-ce utile?

La solution

SiteMapProvider peut être tottaly dynamique. Par exemple, il peut faire recherche dynamique juste pour les nœuds. Contrairement à StaticSiteMapProvider vous devez savoir structure. Donc, pour vous de décider quoi choisir.

Vous pouvez consulter le XmlSiteMapProvider, c'est un bon exemple du fournisseur de cartes « statique ».

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

Je ne l'ai pas vérifié, mais devrait fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top