asp.net中的下拉列表值
我想在下拉列表中添加一个无法选择的值,如标题。 我有一个月的下拉列表。第一项应为“选择月份”,不应选择此项。接下来是从一月到十二月。我该怎么做 这是我目前的代码asp.net中的下拉列表值,asp.net,drop-down-menu,Asp.net,Drop Down Menu,我想在下拉列表中添加一个无法选择的值,如标题。 我有一个月的下拉列表。第一项应为“选择月份”,不应选择此项。接下来是从一月到十二月。我该怎么做 这是我目前的代码 string selectmonth = "select * from tblmonth"; SqlCommand scmselect = new SqlCommand(selectmonth, scnbuboy); SqlDataReader sdrselect = scmselect.ExecuteReader(); drmon
string selectmonth = "select * from tblmonth";
SqlCommand scmselect = new SqlCommand(selectmonth, scnbuboy);
SqlDataReader sdrselect = scmselect.ExecuteReader();
drmonth.DataTextField = "month";
drmonth.DataValueField = "monthID";
drmonth.DataSource = sdrselect;
drmonth.DataBind();
可以添加空值,例如:
ddlmonths.Items.Insert(0, new ListItem("Select Month", ""))
只需添加一个验证,以防止选择空选项,如asp:RequiredFieldValidator。假设您有一个名为DDLMorks的下拉列表:
简单地说,这是不可能的。因为DropdownList包含ListItem,默认情况下将选中它 但是,您可以使用ValidationControl:
<asp:RequiredFieldValidator InitialValue="-1" ID="Req_ID" Display="Dynamic"
ValidationGroup="g1" runat="server" ControlToValidate="ControlID"
Text="*" ErrorMessage="ErrorMessage"></asp:RequiredFieldValidator>
你可以试试这个
your_ddl_id.Items.Insert(0,new ListItem("Select","");
如果你想那么努力的话,这些都是很好的答案。但是我的猜测是,您已经从一个数据绑定元素中获得了列表中所需的项目,并且只想添加到列表的顶部,嘿,伙计,选择一个!选项假设是这样的话 这是一个简单的答案。而且它总是有效的 按照计划完成数据绑定列表。 然后,在Visual Studio中,编辑下拉列表中的项目, 添加一个手动项目,让您选择一个项目选项, 使用VS2012中项目的属性窗口,将其选中。现在把窗户关上。 现在,转到Visual Studio中左下角的“属性”框,确保已选中下拉列表,并查找属性AppendDataBoundItems。 它将读为False,将其设置为True。 现在,您将获得一个包含所有数据项的下拉列表,前面是手动项中的Select an Item语句。如果可能的话,尝试给它一个默认值,这将消除您可能遇到的任何错误。默认值为零,因此如果零不是问题,那么就不要管它。如果零是问题,则用不会使代码崩溃的内容替换项中的默认零 停止这么辛苦的工作…这就是Visual Studio的用途。VB代码:
Dim ListItem1 As New ListItem()
ListItem1.Text = "put anything here"
ListItem1.Value = "0"
drpTag.DataBind()
drpTag.Items.Insert(0, ListItem1)
视图:
试试这个
<asp:DropDownList ID="ddList" runat="server">
<asp:ListItem Value="">--Select Month--</asp:ListItem>
<asp:ListItem Value="1">January</asp:ListItem>
<asp:ListItem Value="2">Feburary</asp:ListItem>
...
<asp:ListItem Value="12">December</asp:ListItem>
</asp:DropDownList>
默认选中的listitem的值应为空,然后使用c将项目添加到asp.net中具有值的下拉列表中即可,只需添加以下代码即可,例如:
try
{
SqlConnection conn = new SqlConnection(conStr);
SqlCommand comm = conn.CreateCommand();
comm = conn.CreateCommand();
comm.CommandText = "SELECT title,gid from Groups";
comm.CommandType = CommandType.Text;
conn.Open();
SqlDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
dropDownList.Items.Add(new
ListItem(dr[0].ToString(),dr[1].ToString()));
}
}
catch (Exception e)
{
lblText.Text = e.Message;
}
finally
{
conn.Close();
}
我尝试过:string selectmonth=select*fromtblmonths;SqlCommand scmselect=新SQLCOMMANDSELECTMOUNT,scnbuboy;SqlDataReader sdrselect=scmselect.ExecuteReader;drmonth.DataTextField=月份;drmonth.DataValueField=monthID;drmonth.Items.Insert0,新建列表项选择一个月,-1;drmonth.DataSource=sdrselect;drmonth.DataBind;选择。关闭;但是只显示数据库中的数据,而不是选择monthfield。谢谢。终于明白了。我想我还得对下拉列表本身做点什么。
Dim ListItem1 As New ListItem()
ListItem1.Text = "put anything here"
ListItem1.Value = "0"
drpTag.DataBind()
drpTag.Items.Insert(0, ListItem1)
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator" ControlToValidate="drpTag"
ValueToCompare="0">
</asp:CompareValidator>
<asp:DropDownList ID="ddList" runat="server">
<asp:ListItem Value="">--Select Month--</asp:ListItem>
<asp:ListItem Value="1">January</asp:ListItem>
<asp:ListItem Value="2">Feburary</asp:ListItem>
...
<asp:ListItem Value="12">December</asp:ListItem>
</asp:DropDownList>
try
{
SqlConnection conn = new SqlConnection(conStr);
SqlCommand comm = conn.CreateCommand();
comm = conn.CreateCommand();
comm.CommandText = "SELECT title,gid from Groups";
comm.CommandType = CommandType.Text;
conn.Open();
SqlDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
dropDownList.Items.Add(new
ListItem(dr[0].ToString(),dr[1].ToString()));
}
}
catch (Exception e)
{
lblText.Text = e.Message;
}
finally
{
conn.Close();
}