所以我有:
App_GlobalResources文件/ MyApp.resx
名称/值对“电子邮件”=“电子邮件地址”
在我的应用程序中,有没有办法覆盖这个值?在应用程序的某个时刻,我想更改名称/值对的值。
“电子邮件”=“电子邮件地址” ......变得...... “电子邮件”=“联系电子邮件地址”
并以相同的方式引用了Resources.MyApp.Email。
答案 0 :(得分:3)
为什么不在资源文件中输入2个条目?一个用于“联系电子邮件地址”,一个用于“电子邮件地址”并使用您的代码决定在这种情况下显示哪一个。
因此,如果您使用电子邮件地址作为默认设置,则可以:
<asp:Label ID="EmailAddressLabel" runat="server" meta:resourcekey="EmailAddressLabel"></asp:Label>
然后覆盖你会在你的代码中加入这样的东西:
if (your logic here)
{
Email.Text = (String)GetLocalResourceObject ("ContactEmailAddressLabel");
}
以上是针对本地资源文件的。对于Global,您可以使用:
Email.Text = (String)GetGlobalResourceObject("MyApp", "ContactEmailAddressLabel");
这将为您读取全局资源密钥。