【发布时间】:2025-11-29 16:35:02
【问题描述】:
我在 aspx 页面上有用户控制权。
uc 具有用于选择以下三种语言之一的下拉列表控件:希伯来语(默认)、英语或俄语。
我有三个 resx 页面包含每种语言的翻译。
当用户选择一种语言时,我将父页面的 uiCulture 更改为 selected 选项:
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:button)上的文本?
【问题讨论】:
-
您可以使用标签并定义resx中的文本进行更改。
-
如何在下拉列表中定义标签?
-
让我搜索一下,我以前没有遇到过这个问题。如果我得到一些解决方案,会通知你
-
你在所有 3 个 resx 页面中都有 shekelOpt 和 DollarOpt 吗?
-
当然!!!当我在 jQuery 代码中更改它时显示它有效,但我无法通过代码手动更改所有控件。
标签: c# jquery asp.net controls globalization