ASP.NET: пользовательская динамически заполненная карта сайтов (SiteMapprovider)
-
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;
}
}
Я не проверил это, но должен работать.
Не связан с StackOverflow