У меня есть приложение ASP.NET WebForms на основе c #.
У меня есть входной текст
<input type="text" id="txtUsername" name="username" runat="server"
placeholder="<%$ Resources:Resource, Username %>" />
и метка
<label for="Username"><%= Resources.Resource.Username%></label>
, также я создаю 2 файла ресурсов Resource.resx и Resource.en-GB.resx в App_GlobalResources
Resource.resx:
Имя пользователя: имя пользователя
Resource.en-GB.resx:
Имя пользователя: электронная почта
Когда пользователь переключается между языками, я использовал следующиекод
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo(code);
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(code);
Resources.Resource.Culture = new System.Globalization.CultureInfo(code);
и код будет равен en или en-GB в зависимости от выбора пользователя.
Проблема:
Когда мы запускаем проект и код = ru-RU , ресурсы метки отображаются как Resource.en-GB.resx (электронная почта) в то время как местодержатель как Resource.resx (имя пользователя) .
Это значит <% = Resources.Resource.Username%> работает отлично, в то время как изменение культуры не меняетсяРесурсы <% $: Ресурс, Имя пользователя%> .
Есть предложения?