为什么DropDownList.SelectedItem.Value不显示赋值

Why does DropDownList.SelectedItem.Value not display the assigned value

我有一个 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 Region"。我怎样才能解决这个问题并在框中显示正确的 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' 其中 returns a region = "9" as a string。

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

当前代码会更改当前 selected 项的值,而您似乎想根据值更改当前 selected 项。 SelectedValue 属性 将获得当前 selected 项的值,或 select 具有所提供值的项。