我有一个全局资源文件:ContactDetails.resx。这里是网站上使用的地址和联系信息。
我还有一个列出所有联系方式的联系页面,但会根据语言进行更改。因此,在英国网站上,英国联系方式显示在顶部,而在法国网站上,法语详细信息将显示在顶部。
是否有办法嵌套资源,从不同资源的值中引用资源值?
答案 0 :(得分:0)
如果您的法语资源文件中不存在资源值,但默认资源文件中存在该资源值,系统将自动从默认资源文件中获取该值。
因此,如果您的本地化设置为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"){
.........
}