Есть ли способ переопределить конкретное значение ресурса в файле .NET .resx? - PullRequest
1 голос
/ 26 февраля 2010

Итак, у меня есть:

App_GlobalResources / MyApp.resx

с парой имя / значение "Email" = "Адрес электронной почты"

В моем приложении есть способ переопределить это значение? В какой-то момент приложения я хочу изменить значение пары «имя / значение».

"Email" = "Адрес электронной почты" ... становится ... "Email" = "Контактный адрес электронной почты"

И ссылаться на это так же, Resources.MyApp.Email.

1 Ответ

3 голосов
/ 26 февраля 2010

Почему бы просто не сделать 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");

и это прочитало бы для вас ключ глобального ресурса.

...