在C#中将空项添加到自定义对象的下拉列表中

Jef*_*ron 6 c# asp.net

我们将自定义对象列表绑定到C#中的ASP.NET DropDownList,但我们希望允许DropDownList最初没有选择任何内容.执行此操作的一种方法可能是创建一个中间字符串列表,使用空字符串填充第一个字符串,然后使用自定义对象信息填充列表的其余部分.

这似乎并不优雅,但有没有人有更好的建议?

Sea*_*ght 23

是的,像这样创建你的列表:

<asp:DropDownList ID="Whatever" runat="server" AppendDataBoundItems="True">
    <asp:ListItem Value="" Text="Select one..." />
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

(注意使用AppendDataBoundItems="True")

然后在绑定时,绑定的项放在空项之后而不是替换它.


Ric*_*ard 11

您可以添加到数据绑定事件:

protected void DropDownList1_DataBound(object sender, EventArgs e)
        {
            DropDownList1.Items.Insert(0,new ListItem("",""));
        }
Run Code Online (Sandbox Code Playgroud)