数据库中的.NET本地化站点地图?

数据库中的.NET本地化站点地图?,.net,localization,globalization,sitemapprovider,sqlsitemapprovider,.net,Localization,Globalization,Sitemapprovider,Sqlsitemapprovider,我有一个自定义sitemapprovider,它从数据库加载页面 页面(页面ID、fk页面ID(父级)、标题、url、在菜单中显示) 我想全球化/本地化页面的标题。最好的方法是什么 创建SiteMapNode对象时,请使用允许您指定隐式/显式资源键的构造函数。我建议使用显式资源键 “要以编程方式指定本地化资源,将implicitResourceKey的值设置为将用于标识节点的本地化资源的唯一名称,或将EXPLICITRESOURCEKEY设置为名称/值对的NameValueCollection

我有一个自定义sitemapprovider,它从数据库加载页面

页面(页面ID、fk页面ID(父级)、标题、url、在菜单中显示)


我想全球化/本地化页面的
标题
。最好的方法是什么

创建SiteMapNode对象时,请使用允许您指定隐式/显式资源键的构造函数。我建议使用显式资源键

“要以编程方式指定本地化资源,将implicitResourceKey的值设置为将用于标识节点的本地化资源的唯一名称,或将EXPLICITRESOURCEKEY设置为名称/值对的NameValueCollection集合,其中name是要本地化的节点属性或自定义属性,value包含节点属性或自定义属性的本地化值属性然后可以在相应的.resx文件中设置本地化值。有关如何本地化SiteMapNode对象的标题、说明和任何自定义属性的详细信息,请参见如何:本地化站点地图数据。有关explicitResourceKeys集合的语法要求,请参阅NameValueCollection。“

通常,要本地化静态站点地图,可以使用如下资源表达式:
“$Resources:,”

相反,将
值按它们在表达式中出现的顺序添加到explicitResourceKey NameValueCollection中,所有这些值都是使用相同的键添加的

因此,如果您的表达式是“
”$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node”
,请执行以下操作:

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

对于描述也可以这样做。

创建SiteMapNode对象时,请使用允许指定隐式/显式资源键的构造函数。我建议使用显式资源键

“要以编程方式指定本地化资源,将implicitResourceKey的值设置为将用于标识节点的本地化资源的唯一名称,或将EXPLICITRESOURCEKEY设置为名称/值对的NameValueCollection集合,其中name是要本地化的节点属性或自定义属性,value包含节点属性或自定义属性的本地化值属性然后可以在相应的.resx文件中设置本地化值。有关如何本地化SiteMapNode对象的标题、说明和任何自定义属性的详细信息,请参见如何:本地化站点地图数据。有关explicitResourceKeys集合的语法要求,请参阅NameValueCollection。“

通常,要本地化静态站点地图,可以使用如下资源表达式:
“$Resources:,”

相反,将
值按它们在表达式中出现的顺序添加到explicitResourceKey NameValueCollection中,所有这些值都是使用相同的键添加的

因此,如果您的表达式是“
”$Resources:SiteMapResourceFileOrClass,RootNode.Title,My Root Node”
,请执行以下操作:

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

你也可以做同样的描述。

Lol,迟做总比不做好!谢谢你的解释!Lol,迟做总比不做好!谢谢你的解释!