我在aspx页面上有用户控制权 uc具有下拉列表控件,用于选择三种语言中的一种:希伯来语(默认),英语或俄语 我有三个resx页面包含每种语言的翻译 当用户选择语言时,我将父页面的uiCulture更改为所选选项:
this.Page.UICulture = language;
有效。
但是......并不完全
我将div定义如下:
<div class="col col-md-3 col-xs-4"><%= Resources.MyResource.CurrencyText %></div>
及其内容按预期更改 但我也定下了下拉列表:
<asp:DropDownList ID="ddlCurrency" CssClass="form-control" runat="server" Height="16px">
<asp:ListItem Value="1" Text="<%$ Resources:MyResource,shekelOpt %>"></asp:listitem>
<asp:ListItem Value="2" Text="<%$ Resources:MyResource,dollarOpt %>"></asp:ListItem>
</asp:DropDownList>
它根本没有变化。
我尝试解决方法,并在$(document).ready函数中写入:
$("#<%= ddlCurrency.ClientID %> option:nth-child(1)").text("<%= Resources.MyResource.shekelOpt %>");
$("#<%= ddlCurrency.ClientID %> option:nth-child(2)").text("<%= Resources.MyResource.dollarOpt %>");
它有效,但我不喜欢这个解决方案,它很丑陋而且不够构建。
有人可以帮助并告诉我如何使asp:dropdownlist(以及asp:按钮)上的文本被更改?
答案 0 :(得分:0)
覆盖了culture和UIculture的两个属性
protected override void InitializeCulture (){
UICulture = selectedLanguage;
Culture = selectedLanguage;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);
base.InitializeCulture();
}
答案 1 :(得分:0)
在ResourceClearing.aspx.vb中添加此项以测试ru-RU文化。不要将文化设置在InitializeCulture之外:
protected override void InitializeCulture()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
base.InitializeCulture();
}
在ResourceClearing.aspx页面
中添加此内容<asp:DropDownList ID="ddlCurrency" CssClass="form-control" runat="server" Height="16px">
<asp:ListItem Value="1" Text="<%$ Resources:shekelOpt %>"></asp:listitem>
<asp:ListItem Value="2" Text="<%$ Resources:dollarOpt %>"></asp:ListItem>
</asp:DropDownList>
如果不起作用,请在ResourceClearing.aspx页面中添加此标记
<asp:DropDownList ID="ddlCurrency" CssClass="form-control" runat="server" Height="16px" meta:resourcekey="ddlCurrencyResource1" >
<asp:ListItem Value="1" Text="Shekal" meta:resourcekey="ListItemResource1"></asp:ListItem>
<asp:ListItem Value="2" Text="Dollar" meta:resourcekey="ListItemResource2"></asp:ListItem>
</asp:DropDownList>
并在所有3个资源文件中添加以下条目及其值: