Asp.net Dropdownlist上的第一项为空白

Asp.net Dropdownlist上的第一项为空白,asp.net,sql-server,ado.net,Asp.net,Sql Server,Ado.net,如何将DropDownList中的第一项置于空白状态?在VB中类似于,DropDownList.index[0]=“”; 我这样做: string StrConn = ConfigurationManager.ConnectionStrings["connSql"].ConnectionString; SqlConnection conn = new SqlConnection(StrConn); conn.Open(); SqlDataReader dr;

如何将DropDownList中的第一项置于空白状态?在VB中类似于,DropDownList.index[0]=“”; 我这样做:

string StrConn = ConfigurationManager.ConnectionStrings["connSql"].ConnectionString;
    SqlConnection conn = new SqlConnection(StrConn);

    conn.Open();

    SqlDataReader dr;

    string sql;
    sql = @"Select Nome From DanielPessoas";

    SqlCommand cmd = new SqlCommand(sql, conn);
    dr = cmd.ExecuteReader();

    DropDownList1.DataSource = dr;
    DropDownList1.DataTextField = "Nome";
    DropDownList1.DataValueField = "Nome";
    DropDownList1.DataBind(); 

在数据绑定调用之后,添加以下代码

DropDownList1.Items.Insert(0, new ListItem(string.Empty, string.Empty));

这样做:下面是一个简单的例子

<asp:DropDownList ID="ddlFruits" runat="server">

        <asp:ListItem Value="1" Text="Oranges"></asp:ListItem>
        <asp:ListItem Value="2" Text="Apples"></asp:ListItem>
        <asp:ListItem Value="3" Text="Grapes"></asp:ListItem>
        <asp:ListItem Value="4" Text="Mangoes"></asp:ListItem>
    </asp:DropDownList>
您可以在SQL中执行此操作:

sql = @"Select Nome From DanielPessoas UNION ALL Select '' Order by Nome";

您可以这样做:

dropdownlist1.Items.Insert(0, new ListItem("Select here...", string.Empty));

如果将
AppendDataBoundItems
属性设置为true,则可以在aspx文件中定义空项

<asp:DropDownList ID="ddlPersons" runat="server" AppendDataBoundItems="true" DataValueField="ID" DataTextField="Name">
    <asp:ListItem> -- please select person -- </asp:ListItem>
</asp:DropDownList>

我将此“空项”视为演示文稿/UI,因此我喜欢将其放在aspx中。它还使代码更简单

我们可以在C#中的前端执行此操作


比我快。我唯一建议的是将某种值设置为空白选择,以便更容易进行验证或选择的值检查。如果您使用字符串“空”/“值”,则可以使用RealdFieldValueAudior。但是,我建议在文本字段中输入一些内容,如“选择…”这是一个坏主意,您不希望更改SQL代码以添加一个空项用于UI目的。
<asp:DropDownList ID="ddlPersons" runat="server" AppendDataBoundItems="true" DataValueField="ID" DataTextField="Name">
    <asp:ListItem> -- please select person -- </asp:ListItem>
</asp:DropDownList>
ddlPersons.DataSource = personsList;
ddlPersons.DataBind();
@Html.DropDownList("sample",new SelectList(DropDownList1, "DataTextField", "DataValueField "), "Select")