データベースからページをロードするカスタム サイトマップ プロバイダーがあります。
ページ(pageid、fk_pageid (親)、タイトル、url、show_in_menu)
ページをグローバル化/ローカライズしたいと考えtitle
ています。最良の方法は何ですか?
データベースからページをロードするカスタム サイトマップ プロバイダーがあります。
ページ(pageid、fk_pageid (親)、タイトル、url、show_in_menu)
ページをグローバル化/ローカライズしたいと考えtitle
ています。最良の方法は何ですか?
SiteMapNode オブジェクトを作成するときは、暗黙的/明示的なリソース キーを指定できるコンストラクターを使用します。明示的なリソース キーを使用することをお勧めします。
http://msdn.microsoft.com/en-us/library/ms150104.aspx
「ローカライズ用のリソースをプログラムで指定するには、implicitResourceKey の値をノードのローカライズされたリソースを識別するために使用される一意の名前に設定するか、explicitResourceKeys を名前と値のペアの NameValueCollection コレクションに設定します。名前はノード プロパティまたはカスタム属性です。 to localize and value contains localization values for the node property or custom attribute. ローカライズされた値は、適切な .resx ファイルに設定できます. Title、Description、および SiteMapNode オブジェクトのカスタム プロパティをローカライズする方法の詳細については、 「方法: サイト マップ データをローカライズする」を参照してください。explicitResourceKeys コレクションの構文要件については、NameValueCollection を参照してください。
通常、静的サイト マップをローカライズするには、次のようなリソース式を使用します"$Resources:<ClassName>,<KeyName>,<DefaultValue>"
。
代わりに、、、および値を、式に現れる順序で explicitResourceKey NameValueCollection に追加し、すべて同じキーを使用して追加します<ClassName>
。<KeyName>
<DefaultValue>
したがって、式が だった場合は"$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node"
、代わりに次のようにします。
explicitResourceKeys.Add("Title", "SiteMapResourceFileOrClass")
explicitResourceKeys.Add("Title", "RootNode.Title")
explicitResourceKeys.Add("Title", "My Root Node")
説明についても同じことができます。