为什么DropDownList.SelectedItem.Value不显示指定的值

问题描述 投票:2回答:1

我有一个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”作为字符串。

c# asp.net html.dropdownlistfor selecteditem
1个回答
1
投票

你可能想用uxRegionDropDownList.SelectedValue = region;代替。

当前代码将更改当前所选项的值,而您似乎希望根据值更改当前选定的项。 SelectedValue属性将获取当前所选项目的值,或选择具有提供值的项目。

© www.soinside.com 2019 - 2024. All rights reserved.