Pergunta

Eu tenho um sitemaprovider personalizado que carrega páginas do banco de dados.

Páginas (PageId, fk_pageId (pai), título, url, show_in_menu)

Eu gostaria de globalizar/localizar o title da página. Qual é o melhor método?

Foi útil?

Solução

Ao criar seus objetos SitemapNode, use o construtor que permite especificar teclas de recursos implícitas/explícitas. Eu recomendo ir com chaves explícitas de recursos.

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

"Para especificar programaticamente recursos para localização, defina o valor do ImplicitResourceKey como um nome exclusivo que será usado para identificar recursos localizados para o nó ou definir explicitResourceKeys para uma coleção NameValuECollection de nomes/valores em que o nome é a propriedade do nó ou atendimento personalizado Para localizar e valor, contém valores de localização para a propriedade do nó ou atributo personalizado. Os valores localizados podem ser definidos nos arquivos .resx apropriados. Para obter mais informações sobre como localizar o título, a descrição e quaisquer propriedades personalizadas de um objeto SiteMapNode, Consulte Como: Localizar dados de mapa do site. Para os requisitos de sintaxe da coleção ExplicitResourceKeys, consulte NameValuecollection. "

Normalmente, para localizar um mapa estático do site, você usaria uma expressão de recursos como a seguinte: "$Resources:<ClassName>,<KeyName>,<DefaultValue>".

Em vez disso, adicione o <ClassName>, <KeyName>, e <DefaultValue> Valores para o explicitResourceKey NameValuEcollection na ordem em que aparecem na expressão, todos adicionados usando a mesma chave.

Então, se sua expressão teria sido "$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node", em vez disso, faça o seguinte:

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

Você pode fazer o mesmo para descrição.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top