为什么DropDownList.SelectedItem.Value不显示分配的值

时间:2019-05-01 19:10:18

标签: c# asp.net html.dropdownlistfor selecteditem

我有一个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”,这将返回一个区域=“ 9”作为字符串。

1 个答案:

答案 0 :(得分:1)

您可能想改用uxRegionDropDownList.SelectedValue = region;

当前代码将更改当前所选项目的值,而您似乎想基于某个值更改当前所选项目。 SelectedValue属性将获取当前所选项目的值,或选择具有提供的值的项目。