ASP.NET: plan du site personnalisé dynamiquement à (SiteMapProvider)
-
19-09-2019 - |
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 deSiteMapProvider
? É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.
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.