Добавление узлов в mvcsitemap в коде
Я строю простую CMS, которая хранит навигацию / карту сайта / структуру сайта в таблице базы данных. Когда приложение запускается, я могу динамически создавать узлы Sitemap на основе данных из этой таблицы.
Проблема, с которой я сталкиваюсь, заключается в том, что когда новая запись добавляется в таблицу или обновляется существующая, когда приложение работает, мне нужно перестроить структуру карты сайта. Кажется достаточно простым, но я не могу понять, как.
1 ответ
Нет встроенной поддержки очистки / восстановления карты сайта на лету.
Но вы могли бы реализовать это сами довольно легко, внедрив пользовательский поставщик сайта, производный от MvcSiteMapProvider.DefaultSiteMapProvider
и создать метод, используемый для очистки кэша, используя защищенный Clear()
метод. Пример:
public class CustomSiteMapProvider : DefaultSiteMapProvider
{
public void ClearSiteMap()
{
Clear();
}
}
Я не пробовал это, но это должно работать. Не забудьте изменить файл web.config, чтобы использовать собственный sitemapprovider вместо DefaultSiteMapProvider
,