2016-01-20 42 views
-1

我試圖通過DropDownList創建一個過濾器。
他們正在使用數據源。
問題是 - 這些來源不包含空值,過濾器始終有效。當然,我不需要它。我嘗試添加ListItem的權利DropDownList,但它沒有幫助。
使用DataSource時,在下拉列表中添加一個空值C#

這是我的一個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>> 

將不勝感激您的幫助!

回答

5

您可以在代碼中做背後:

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 ... 
+0

謝謝你的答案。除了最後一種方法,我嘗試了所有方法,不幸的是這些都沒有幫助。 由於其他原因,我無法嘗試最後一個。 Visual Studio說根本沒有「添加」的定義。 至於其餘兩個 - 我明白它肯定應該有所幫助,我也嘗試了.aspx中的那個,因爲我寫了但沒有發生。 如果您有任何其他想法 - 我會很高興! –

+0

我投了答案,因爲思維方式很好。 – Khazratbek

+0

@vitaly嘗試使用* ddl.Items.Add()*方法,它是正確的版本 – Khazratbek

1

我做同樣的事情,這樣一來,試試這個曾經

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")); 
相關問題