Pregunta

Tengo un SiteMapProvider costumbre que carga las páginas de la base de datos.

  

Páginas (PageID, fk_pageid (padres), título, url, show_in_menu)

Me gustaría globalizar / localizar el title de la página. ¿Cuál es el mejor método?

¿Fue útil?

Solución

Al crear objetos SiteMapNode, utilice el constructor que le permite especificar las claves de recursos implícitos / explícitos. Recomiendo ir con claves de recursos explícitas.

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

"para especificar mediante programación recursos para la localización, ya sea establecer el valor de implicitResourceKey a un nombre único que se utilizará para identificar los recursos localizados para el nodo o explicitResourceKeys conjunto a una colección NameValueCollection de pares nombre / valor donde nombre es la propiedad nodo o atributo personalizado para localizar y valor contiene los valores de localización para el atributo de propiedad del nodo o la costumbre. los valores localizados a continuación, se pueden establecer en los archivos .resx adecuados. para obtener más información acerca de cómo localizar el título, descripción y propiedades personalizadas de una SiteMapNode objeto, vea Cómo:.. Localizar el sitio-mapa de los datos para los requisitos de sintaxis de la colección explicitResourceKeys, ver NameValueCollection "

Normalmente, para localizar un mapa del sitio estático, se utilizaría una expresión de recursos como el siguiente:. "$Resources:<ClassName>,<KeyName>,<DefaultValue>"

En su lugar, agregue la <ClassName>, <KeyName>, y los valores <DefaultValue> a la explicitResourceKey NameValueCollection en el orden en que aparecen en la expresión, todo ello sumado con la misma clave.

Así que si su expresión habría sido "$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node", en vez hacer lo siguiente:

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

Se puede hacer lo mismo para la descripción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top