我有下拉列表,其中通过连接到数据库来添加值。
这是我的代码:
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="devicetype" DataValueField="devicetype"></asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:PHSNew %>" SelectCommand="SELECT DISTINCT [devicetype] FROM [dx_devices]"></asp:SqlDataSource>
现在我想在下拉列表中再添加一个“Any”选项。
我该如何添加?
答案 0 :(得分:3)
这应该这样做:
ddl_MyItems.Items.Insert(0, new ListItem("--Any--", String.Empty));
ddl_MyItems.SelectedIndex = 0;
答案 1 :(得分:3)
在您的DropDownList
中,您需要添加AppendDataBoundItems="true"
才能允许,DropDownList
就像:
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true" DataSourceID="SqlDataSource1"
DataTextField="devicetype" DataValueField="devicetype">
<asp:ListItem Text="Any" Value="0"></asp:ListItem>
</asp:DropDownList>
答案 2 :(得分:2)
而不是在.aspx页面上添加数据源,在代码隐藏中的数据集中获取sql查询的结果,并手动将数据集中的所有项添加到下拉列表中,并在末尾添加“Any”项。你的下拉列表。
修改
替代方法:
将属性OnDataBound="DropDownList1_DataBound"
添加到现有的下拉列表中。
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="devicetype" DataValueField="devicetype" OnDataBound="DropDownList1_DataBound"></asp:DropDownList>
将以下代码添加到您的代码隐藏中。这将在绑定您在.aspx页面上指定的数据源之后在下拉列表的末尾添加Any
项。
VB
Protected Sub DropDownList1_DataBound(sender As Object, e As EventArgs)
Dim ite As New ListItem
ite.Text = "any"
DropDownList1.Items.Add(ite)
End Sub
C#
protected void DropDownList1_DataBound(object sender, EventArgs e)
{
ListItem ite = new ListItem();
ite.Text = "any";
DropDownList1.Items.Add(ite);
}