如何在下拉列表中添加默认文本?

时间:2015-07-08 22:41:14

标签: c# asp.net

我很难将默认文字添加到下拉列表中。 我想要一个默认的"选择一个部门......"文字到我的下拉列表。文本根本没有值,并且在选择时永远不会添加到数据库中。它只是一个显示,就像对用户的指示。

void GetUserTypes()
{
    con.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    cmd.CommandText = "SELECT TypeID, TypeName FROM Types";
    SqlDataReader dr = cmd.ExecuteReader();
    ddlTypes.DataSource = dr;
    ddlTypes.DataTextField = "TypeName";
    ddlTypes.DataValueField = "TypeID";
    ddlTypes.DataBind();
    con.Close();
}
    <!--Department-->
    <div class="form-group">
        <label class="control-label col-lg-4">
            Department</label>
        <div class="col-lg-8">
            <asp:DropDownList ID="ddlTypes" runat="server" class="form-control" />
        </div>
    </div>

我尝试过添加一个AppendDataBoundItems,但问题是当我提交下拉列表中所选项目的表单是&#34;选择一个部门...&#34;它会有错误。

2 个答案:

答案 0 :(得分:0)

如何直接在标记中添加ListItem,例如:

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

确保AppendDataBoundItems =&#34; true&#34;虽然存在。 在您的事件监听器或验证中,检查dllTypes.SelectedValue!= 0。

答案 1 :(得分:0)

ddlTypes.DataBind();
ddlType.Insert(0,new ListItem("","Select a department..."))

提交时,您需要检查ddlType的值,就像

一样
if(ddlType.SelectedIndex>0)
{
    //your code
}