ответ

1

При создании объектов SiteMapNode используйте конструктор, который позволяет указать неявные/явные ключи ресурсов. Я бы рекомендовал использовать явные ключи ресурсов.

http://msdn.microsoft.com/en-us/library/ms150104.aspx

«Чтобы программно задать ресурсы для локализации, либо установить значение implicitResourceKey с уникальным именем, которое будет использоваться для идентификации локализованных ресурсов для узла или установить explicitResourceKeys в коллекцию NameValueCollection из имен пара/значения где name - это свойство узла или пользовательский атрибут для локализации, а значение содержит значения локализации для свойства узла или пользовательского атрибута. Затем локализованные значения могут быть установлены в соответствующих файлах .resx. Дополнительные сведения о локализации заголовка, описания, и любые пользовательские свойства объекта SiteMapNode, см. Как: Локализовать данные Site-Map. Требования к синтаксису коллекции explicitResourceKeys см. в разделе NameValueCollection. "

Обычно для локализации статической карты сайта вы должны использовать выражение ресурса следующим образом: "$Resources:<ClassName>,<KeyName>,<DefaultValue>".

Вместо этого добавьте <ClassName>, <KeyName> и <DefaultValue> значения в explicitResourceKey NameValueCollection в порядке их появления в выражении, все добавлено, используя тот же ключ.

Так что, если ваше выражение было бы "$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node", вместо того, чтобы сделать следующее:

explicitResourceKeys.Add("Title", "SiteMapResourceFileOrClass") 
explicitResourceKeys.Add("Title", "RootNode.Title") 
explicitResourceKeys.Add("Title", "My Root Node") 

Вы можете сделать то же самое для описания.

+0

Lol, лучше поздно, никогда! Спасибо, что объяснили! – Ropstah