从数据库.NET本地化站点地图?
-
24-09-2019 - |
题
我有一个自定义sitemapprovider其中负载从数据库页。
信息页(适用的pageid,fk_pageid(父),标题,URL,show_in_menu)
我想全球化/本地化页面title
。什么是最好的方法是什么?
解决方案
当您创建的SiteMapNode对象,请使用,允许你指定隐性/明确的资源键构造。我建议有明确的资源键去。
http://msdn.microsoft.com/en-us/library/ ms150104.aspx
“若要编程用于定位指定资源,无论是implicitResourceKey的值设置为将被用于识别该节点或集合explicitResourceKeys到名称/值对的一个的NameValueCollection集合本地化资源的唯一名称,其中名称为节点属性或自定义属性以定位和值包含节点属性或自定义属性的定位值。本地化值然后可以在适当的.resx文件来设定。有关如何本地化标题,说明的详细信息,和的任何自定义属性的SiteMapNode对象,请参阅如何。本地化站点地图数据的收集explicitResourceKeys的语法要求,请参阅的NameValueCollection“
通常本地化静态站点地图,你可以使用如下所示的资源表达式:。"$Resources:<ClassName>,<KeyName>,<DefaultValue>"
相反,<ClassName>
,<KeyName>
和<DefaultValue>
值添加到explicitResourceKey NameValueCollection中在它们出现在表达式中的顺序,所有添加的使用相同的密钥。
所以,如果你的表情会一直"$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node"
,而不是执行以下操作:
explicitResourceKeys.Add("Title", "SiteMapResourceFileOrClass")
explicitResourceKeys.Add("Title", "RootNode.Title")
explicitResourceKeys.Add("Title", "My Root Node")
可以用于描述这样做。