数据绑定下拉列表 - 初始值

mmc*_*ynn 28 vb.net asp.net drop-down-menu

如何在ASP.NET中设置数据绑定下拉列表的初始值?

例如,我想要值,但显示的第一个值应该是 - 选择一个---,具有空值.

Pha*_*rus 64

我想你想要做的是:

<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true">
    <asp:ListItem Text="--Select One--" Value="" />   
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

确保'AppendDataBoundItems'设置为true,否则在绑定数据时将清除' - 选择一个 - 列表项.

如果您将下拉列表的'AutoPostBack'属性设置为true,则还必须将'CausesValidation'属性设置为true,然后使用'RequiredFieldValidator'来确保'--Select One--'选项不会'引起回发.

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DropDownList1"></asp:RequiredFieldValidator>
Run Code Online (Sandbox Code Playgroud)


小智 11

我知道这是旧的,但这些想法的结合导致了一个非常优雅的解决方案:

保留DropDownList的所有默认属性设置(AppendDataBoundItems = false,Items为空).然后像这样处理DataBound事件:

protected void dropdown_DataBound(object sender, EventArgs e)
{
    DropDownList list = sender as DropDownList;
    if (list != null)
        list.Items.Insert(0, "--Select One--");
}
Run Code Online (Sandbox Code Playgroud)

锦上添花的是,这一个处理程序可以由任意数量的DropDownList对象共享,甚至可以放入所有项目的通用实用程序库中.