在DropDownList中设置listItem的值

时间:2015-03-30 16:10:56

标签: c# asp.net listitem

 if (currentMap.EditMap != null)
 {
ddlEditMapGroupName.SelectedIndex = ddlEditMapGroupName.Items.IndexOf(ddlEditMapGroupName.Items.FindByText(currentMap.EditMap));
}

将下拉框的值设置为存储值...但是如果currentMap.Edit map为null,我如何将值设置为listItem的文本?

<asp:DropDownList ID="ddlEditMapGroupName" AppendDataBoundItems="true" runat="server">
<asp:ListItem Text="Select Group" Value="" Selected="True"></asp:ListItem>
</asp:DropDownList>

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题......

听起来你有一个下拉列表,里面已经有一堆列表项(?)。

您正尝试将所选项目设置为与页面上的其他控件匹配。

我使用的一种策略(对于某些情况)是将记录放入您从下拉列表数据中提取的任何一个表中,简单地说就是“未选择”。然后,确保您用于查询下拉列表数据的任何内容都会将“未选定”记录拉入列表中。

有了这个,你可以简单地在你的控制语句中添加一个'else'子句,在适当的时候将选中的值设置为'Not Selected'。

答案 1 :(得分:0)

    if (currentMap.EditMap != null)
     {
    ddlEditMapGroupName.SelectedIndex = ddlEditMapGroupName.Items.IndexOf(ddlEditMapGroupName.Items.FindByText(currentMap.EditMap));
    }
    else
    {
       ddlEditMapGroupName.SelectedValue = "0";
    }

<asp:DropDownList ID="ddlEditMapGroupName" AppendDataBoundItems="true" runat="server">
<asp:ListItem Text="Select Group" Value="0" Selected="True"></asp:ListItem>
</asp:DropDownList>

您只需将SelectedValue属性设置为默认值,在您的情况下为Select Group且其value0 ...

应在<{1}}已绑定到数据源后完成。