Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用DataSource C时,在下拉列表中添加一个空值#_C#_Asp.net_Drop Down Menu_Dropdown - Fatal编程技术网

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

C# 使用DataSource C时,在下拉列表中添加一个空值#,c#,asp.net,drop-down-menu,dropdown,C#,Asp.net,Drop Down Menu,Dropdown,我正试图通过DropDownList创建一个过滤器 他们正在使用数据源 问题是-这些源不包括空值,并且筛选器始终有效。我当然不需要它。我试图在DropDownList中添加ListItem,但没有效果。 这是我的下拉列表之一 <asp:DropDownList ID="ddl" runat="server" DataSourceID="sds" DataTextField="name" DataValueField="id"> </asp:DropDownList&g

我正试图通过
DropDownList
创建一个过滤器
他们正在使用数据源
问题是-这些源不包括空值,并且筛选器始终有效。我当然不需要它。我试图在
DropDownList
中添加ListItem,但没有效果。

这是我的
下拉列表之一

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

或在您的.aspx上:

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

我用这种方式做同样的事情,试试这个

 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"));
affiliateDomain AffiliatedDomain=新affiliateDomain();
List objListAffiliate=新列表();
objListAffiliate=附加域。SelctAffiliatesForMasterAgent();
ddlafiliate.DataSource=objListAffiliate;
ddlafiliate.DataTextField=“PartnerAffiliatCodeName”;
ddlafiliate.DataValueField=“AffiliateId”;
ddla.DataBind();
ddlafiliate.Items.Insert(0,newlistItem(“--Select--”和“0”);

谢谢您的回答。除了最后一种方法,我都试过了,不幸的是,这一切都没有用。由于其他原因,我不能试最后一个。VisualStudio说“添加”根本没有定义。至于剩下的两个-我知道这肯定会有帮助,我也试着在.aspx中写一个,但什么也没发生。如果你有任何其他想法-我会很高兴@请尝试使用ddl.Items.Add()方法,这是的正确版本that@NikolaiDante谢谢,它很有效。但是你能告诉我,我应该把它放在哪里?为什么把它放在“页面加载”方法和“OnInit”中不起作用?我试了试按钮,但它不适合我。这将取决于。我以前在加载时做过
,但这是填充ddl的地方。
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"));