从资源文件链接到资源
问题描述:
我有一个全局资源文件:ContactDetails.resx。这里是在网站上使用的地址和联系信息。从资源文件链接到资源
我也有一个联系页面列出了所有的联系方式,但是依赖于语言而改变。所以在英国的网站上,英国的联系方式出现在顶部,而法国网站上的法国细节将出现在顶部。
有没有一种方法来嵌套资源,从不同资源的值中引用资源值?
答
如果资源值不存在于您的法语资源文件中,但在默认资源文件中存在,系统将自动从默认资源文件中获取该值。
所以,如果您的本地化设置为fr
,和您的电话是一样的东西:
Resources.ContactDetails.Telephone
和电话不存在ContactDetails.fr.resx
那么它将从获得电话值ContactDetails.resx
如果所有的值都要显示在页面上,但取决于本地化的不同顺序,我建议不要将这些值存储在资源文件中。资源文件的变化是为了改变语言,而不是改变数据的布局。
相反,我会建议将这些存储在数据库中,并有3个文本控件,如页面上:
<asp:literal id="ltl1stTelephone" runat="server" />
<asp:literal id="ltl2ndTelephone" runat="server" />
<asp:literal id="ltl3rdTelephone" runat="server" />
然后根据定位,指定哪些值应该被分配到各控制。
if (System.Threading.Thread.CurrentThread.CurrentUICulture = "fr"){
.........
}
不是我所问的。基本上一个资源文件提供了页面的结构(可能不是我所知道的最佳实践)。这将加载哪些命令显示联系人详细信息。但是,我不想将自己的联系方式本身存储在本文件中,因为对一个电话号码的更改意味着许多其他地方的更改。相反,我想拥有另一个位置,其中包含从第一个资源文件引用的所有联系人详细信息。 – Chris 2012-02-09 16:05:56
想想看,资源文件是否是正确的方法去解决这个问题......你将如何实现这一目标? – Chris 2012-02-09 16:06:37
因此,您将HTML代码存储在资源字符串值中?这可能不是最好的方法。如果它的法语本地化,你可以使用不同的CSS文件?这可能会更好。还是我仍然误解? – Curt 2012-02-09 16:08:31