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