Frage

Ich habe eine benutzerdefinierte Sitemap welche lädt Seiten aus der Datenbank.

  

Seiten (pageid, fk_pageid (Eltern), Titel, URL, show_in_menu)

würde Ich mag den title der Seite globalisieren / lokalisiert. Was ist die beste Methode?

War es hilfreich?

Lösung

Wenn Sie Ihre SiteMapNode Objekte zu erstellen, verwenden Sie den Konstruktor, die Sie angeben implizite / explizite Ressourcenschlüssel erlaubt. Ich würde empfehlen, mit expliziten Ressourcenschlüsseln gehen.

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

", um programmatisch angeben Ressourcen für die Lokalisierung, entweder den Wert von implicitResourceKey in einen eindeutigen Namen, der verwendet wird lokalisierte Ressourcen für den Knoten oder Satz explicitResourceKeys an einen Namevaluecollection Sammlung von Name / Wert-Paare zu identifizieren, in denen Namen der Knoten Eigenschaft ist oder benutzerdefinierten Attributs zu lokalisieren und Wert enthält Lokalisierungswerte für den Knoten Eigenschaft oder benutzerdefinierten Attributs. die lokalisierten Werte können dann in den entsprechenden Dateien .resx eingestellt werden. für weitere Informationen darüber, wie Titel, Beschreibung zu lokalisieren, und alle benutzerdefinierten Eigenschaften von a SiteMapNode Objekt finden Sie unter:.. Localize Site-Map Daten für die Syntax Anforderungen der explicitResourceKeys Sammlung finden Namevaluecollection "

Normalerweise eine statische Website Karte zu lokalisieren, eine Ressource Ausdruck wie die folgenden verwenden würde. "$Resources:<ClassName>,<KeyName>,<DefaultValue>"

Fügen Sie stattdessen die <ClassName>, <KeyName> und <DefaultValue> Werte an der explicitResourceKey Namevaluecollection in der Reihenfolge, wie sie im Ausdruck erscheinen, alle hinzugefügt, um den gleichen Schlüssel.

Also, wenn Ihr Ausdruck "$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node" gewesen wäre, stattdessen Folgendes tun:

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

Sie können für Beschreibung das gleiche tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top