MVC SiteMap 2.0 поддерживает пользовательские атрибуты? - PullRequest
0 голосов
/ 25 июля 2010

Я использую v2.0 проекта MVC SiteMap .

С помощью System.Web.XmlSiteMapProvider в веб-формах я часто сохранял пользовательские атрибуты на узлах и обращался к ним черезколлекция атрибутов [].Это очень полезно для создания нестандартных наборов узлов, которые имеют общий атрибут.

Кажется, что MVC SiteMap не поддерживает настраиваемые атрибуты.Это правильно?Если нет, то может ли кто-нибудь предложить хороший способ идентификации узлов в моей SiteMap, который следует считать «основной» навигацией?


Редактировать:

Я должен уточнить, как выглядят атрибуты"не работа".Когда я добавляю пользовательский атрибут, например, isPrimary = "true", в мой корневой узел, мое свойство SiteMap.CurrentNode всегда равно нулю.Однако свойство SiteMap.RootNode заполняется нормально.Любые идеи?


Дальнейшее редактирование:

Учитывая, что любые дополнительные атрибуты, которые я добавляю, будут добавлены в RouteData, есть ли способ добавить атрибут к узлу, который не связан вкакой-нибудь путь к маршруту?Я думаю о произвольном параметре, который я могу использовать для идентификации определенных узлов.

1 Ответ

2 голосов
/ 26 июля 2010

Это прекрасно работает в последней версии провайдера. Только что проверил это, используя последний исходный код и демонстрацию музыкального сайта MVC.

Уверен, это всегда работало. Все методы AddNode () вызывают методы base.AddNode, которые будут добавлять любые атрибуты, которые вы захотите.

Обновление:

Пробовал ваш пример, работает отлично. Когда я проверял это, я фактически отлаживал на SiteMap.Provider.CurrentNode, и там были пользовательские атрибуты. Может быть, это ошибка, попробуйте последнюю версию?

...