使用数据源 C# 时,在下拉列表中添加一个空值

本文关键字:添加 空值 一个 下拉列表 数据源 | 更新日期: 2023-09-27 18:31:05

我正在尝试通过DropDownList创建一个过滤器。
他们正在使用数据源。问题是 - 这些源不包括空值,过滤器始终有效。我当然不需要它。我试图在DropDownList的右边添加列表项,但没有帮助.

这是我的DropDownList之一.

<asp:DropDownList ID="ddl" runat="server" DataSourceID="sds"
     DataTextField="name" DataValueField="id">
</asp:DropDownList>                                
<asp:SqlDataSource ID="sds" runat="server" 
     ConnectionString="<%$ ConnectionStrings:conStr %>" 
     OnInit="sds_Init"></asp:SqlDataSource>>

将感谢您的帮助!

使用数据源 C# 时,在下拉列表中添加一个空值

您可以在代码隐藏中执行此操作:

ddl.Items.Add(new ListItem("--Select--", "-1"));

或:

ddl.Items.Insert(0, new ListItem("--Select--", "-1"));

或者在您的.aspx上:

<asp:DropDownList ID="ddl" runat="server" DataSourceID="sds"
     DataTextField="name" DataValueField="id">
     <asp:ListItem Text="--Select--" Value ="-1"></asp:ListItem>
</asp:DropDownList>  

或者可能在 SQL 中:

SELECT "--Select--" AS [name], -1 as [id]
UNION
SELECT ...

我正在以这种方式做同样的事情,请尝试一次

 AffiliatesDomain affiliateDomain = new AffiliatesDomain();
 List<usp_selectAffiliatesForMasterResult> objListAffiliate = new List<usp_selectAffiliatesForMasterResult>();
 objListAffiliate = affiliateDomain.SelctAffiliatesForMasterAgent();
 ddlAffiliate.DataSource = objListAffiliate;
 ddlAffiliate.DataTextField = "PartnerAffiliatCodeName";
 ddlAffiliate.DataValueField = "AffiliateId";
 ddlAffiliate.DataBind();
 ddlAffiliate.Items.Insert(0, new ListItem("--Select--", "0"));