1

我有下拉列表,其中通过连接到数据库添加值。

这是我的代码:

<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”。

我该如何添加?

4

3 回答 3

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>
于 2013-07-15T17:24:47.327 回答
3

这应该这样做:

ddl_MyItems.Items.Insert(0, new ListItem("--Any--", String.Empty));
ddl_MyItems.SelectedIndex = 0;
于 2013-07-15T16:49:50.587 回答
2

而不是在 .aspx 页面上添加数据源,而是在代码隐藏的数据集中获取 sql 查询的结果,然后手动将数据集中的所有项目添加到下拉列表中,并在下拉列表的末尾添加“任何”项目。

编辑

替代方法:

将该属性添加OnDataBound="DropDownList1_DataBound"到您现有的下拉列表中。

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="devicetype" DataValueField="devicetype" OnDataBound="DropDownList1_DataBound"></asp:DropDownList>

将以下代码添加到您的代码隐藏中。这将Any在绑定您在 .aspx 页面上指定的数据源后将项目添加到下拉列表的末尾。

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);
}
于 2013-07-15T17:05:59.150 回答