我有一个Asp: Dropdownlist
。我想根据指定的值显示所选列表项。
<asp:DropDownList ID="uxRegionDropDownList" runat="server" style="height:25px; width: 34%; text-align: center;" required="False">
<asp:ListItem Value="-1">FEMA Region</asp:ListItem>
<asp:ListItem Value="1">I</asp:ListItem>
<asp:ListItem Value="2">II</asp:ListItem>
<asp:ListItem Value="3">III</asp:ListItem>
<asp:ListItem Value="4">IV</asp:ListItem>
<asp:ListItem Value="5">V</asp:ListItem>
<asp:ListItem Value="6">VI</asp:ListItem>
<asp:ListItem Value="7">VII</asp:ListItem>
<asp:ListItem Value="8">VIII</asp:ListItem>
<asp:ListItem Value="9">IX</asp:ListItem>
<asp:ListItem Value="10">X</asp:ListItem>
<asp:ListItem Value="HQ">HQ</asp:ListItem>
<asp:ListItem Value="Unknown">Unknown</asp:ListItem>
</asp:DropDownList>
例如,如果我有一个变量string region = "9"
,并指定了uxRegionDropDownList = region
,我希望它会将IX
填充为所选值。但事实并非如此。它只显示“FEMA区域”。如何解决这个问题并在框中制作正确的ListItem
显示屏?
C#
protected void uxStatesDropdownList_SelectedIndexChanged(object sender, EventArgs e)
{
UpdateCountiesList(uxStatesDropdownList.SelectedValue);
UpdateRegion(uxStatesDropdownList.SelectedValue);
}
private void UpdateRegion(string stateName)
{
string region = _dtMgr.GetFEMARegionByState(stateName);
//uxRegionDropDownList.Items.Clear();
uxRegionDropDownList.SelectedItem.Value = region;
}
注意:在上面的场景中,我将状态更改为'AR',它返回region =“9”作为字符串。
你可能想用uxRegionDropDownList.SelectedValue = region;
代替。
当前代码将更改当前所选项的值,而您似乎希望根据值更改当前选定的项。 SelectedValue
属性将获取当前所选项目的值,或选择具有提供值的项目。