Domanda

Ho un SiteMapProvider personalizzato che carica le pagine dal database.

  

Pagine (pageid, fk_pageid (genitore), titolo, url, show_in_menu)

Vorrei globalizzare / localizzare la title della pagina. Qual è il metodo migliore?

È stato utile?

Soluzione

Quando si creano oggetti SiteMapNode, utilizzare il costruttore che consente di specificare le chiavi di risorse implicito / esplicito. Mi consiglia di andare con le chiavi di risorse esplicite.

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

"Per specificare di programmazione le risorse per la localizzazione, sia impostare il valore di implicitResourceKey a un nome unico che verrà utilizzato per identificare le risorse localizzate per il nodo o explicitResourceKeys set ad una collezione NameValueCollection di nome coppie / valore in cui nome è la proprietà del nodo o attributo personalizzato per la localizzazione e il valore contiene i valori di localizzazione per l'attributo di proprietà nodo o personalizzato. i valori in lingua possono essere impostati nei file RESX appropriati. per ulteriori informazioni su come localizzare il titolo, descrizione, e le eventuali proprietà personalizzate di un oggetto SiteMapNode, vedere Procedura:.. Localizzare Mappa del sito-dati per i requisiti di sintassi della collezione explicitResourceKeys, vedere NameValueCollection "

Normalmente per localizzare una mappa del sito statico, si può usare un'espressione risorsa come il seguente:. "$Resources:<ClassName>,<KeyName>,<DefaultValue>"

Al contrario, aggiungere il <ClassName>, <KeyName>, e valori <DefaultValue> alla explicitResourceKey NameValueCollection nell'ordine in cui appaiono nell'espressione, il tutto aggiunto utilizzando la stessa chiave.

Quindi, se la vostra espressione sarebbe stata "$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node", invece procedere come segue:

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

Si può fare lo stesso per la descrizione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top