ASP.NET: пользовательская динамически заполненная карта сайтов (SiteMapprovider)

StackOverflow https://stackoverflow.com/questions/1716573

  •  19-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь написать свой первый собственный SiteMapProvider подкласс. Он должен быть заполнен динамически, используя кучу различных поисков баз данных, так же, как и все примеры, которые я нашел в Интернете.

Тем не менее, есть целая куча вещей, которые мне очень неясны. Вот два моих первых вопроса:

  • Почему StaticSiteMapProvider используется практически в проекте каждого вместо SiteMapProvider? Поскольку класс содержит имя «Статичное», у меня сложилось впечатление, что оно не так ... ну, динамично, как я хочу.
  • Может ли кто-нибудь предоставить мне супер-минималистический 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