Frage

Ich versuche mein erstes eigenes zu schreiben SiteMapProvider Unterklasse. Es soll dynamisch mithilfe einer Reihe verschiedener Datenbank -Lookups besiedelt werden, ähnlich wie alle Beispiele, die ich im Web gefunden habe.

Es gibt jedoch eine ganze Reihe von Dingen, die mir ziemlich unklar sind. Hier sind meine beiden ersten Fragen:

  • Warum ist StaticSiteMapProvider verwendet in praktisch jedem Projekt anstelle von SiteMapProvider? Da die Klasse den Namen "statisch" enthält, bekomme ich den Eindruck, dass er nicht so ist, wie ich es will.
  • Kann mir jemand eine superminimalistische geben SiteMapProvider Unterklasse, die die Karte nur mit statischen Daten, dh ohne Datenbankzugriff usw. bevölkert?
War es hilfreich?

Lösung

SiteMapProvider Kann Tottaly dynamisch sein. Zum Beispiel kann es nur nach Knoten dynamisch suchen. Im Gegensatz zu StaticSiteMapProvider Sie sollten die ganze Struktur kennen. Sie können also entscheiden, was Sie wählen können.

Sie können sich das ansehen XmlSiteMapProvider, Dies ist ein gutes Beispiel für "statischen" Kartenanbieter.

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

Ich habe das nicht überprüft, sollte aber funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top