我有下拉在我的asp页面,当我试图选择值,然后无法在代码后面得到值。
下面是我的下拉列表代码:<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<div class="row" >
<asp:Label ID="LblLanguage" runat="server" Text="Label" meta:resourceKey="LblLanguage">Language</asp:Label>
<asp:DropDownList ID="Language1" runat="server" AutoPostBack="true">
<asp:ListItem Value="auto">Select</asp:ListItem>
<asp:ListItem Value="en-US">English (US)</asp:ListItem>
<asp:ListItem Value="fr">French</asp:ListItem>
</asp:DropDownList>
</div>
</asp:Content>
当我尝试从下拉菜单中选择法语时,代码后面没有值。下面是我在
后面的代码protected override void InitializeCulture()
{
string lang = Request["Language1"];
if (lang != null && lang != string.Empty)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
}
}
所以这里字符串lang是空的,即使我从下拉菜单中选择了一个值
您正在尝试以旧的ASP经典方式引用下拉菜单Language1。要获取下拉列表的值,请将其引用为Language1.SelectedValue。
string lang = Request["Language1"];
应该
string lang = Language1.SelectedValue;