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