使用DataSource C#时在下拉列表中添加一个空值

Add an empty value in dropdown list when using DataSource C#

我正在尝试通过 DropDownList 创建过滤器。
他们正在使用数据源。
问题是 - 这些来源不包含空值,过滤器始终有效。我当然不需要它。我尝试在 DropDownList 的右侧添加 ListItem,但它没有帮助。

这是我的 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>>

非常感谢您的帮助!

您可以在后面的代码中完成:

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"));