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>
答案 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
且其value
为0
...
应在<{1}}已绑定到数据源后完成。