【问题标题】:Add an empty value in dropdown list when using DataSource C#使用 DataSource C# 时在下拉列表中添加一个空值
【发布时间】:2016-01-20 13:18:11
【问题描述】:

我正在尝试通过DropDownList 创建过滤器。
他们正在使用数据源。
问题是 - 这些来源不包括空值并且过滤器总是有效的。我当然不需要。我尝试将 ListItem 添加到 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# asp.net drop-down-menu dropdown


    【解决方案1】:

    你可以在后面的代码中做到这一点:

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

    【讨论】:

    • 感谢您的回答。除了最后一种方法,我尝试了所有方法,不幸的是,这些都没有帮助。由于其他一些原因,我无法尝试最后一个。 Visual Studio 说根本没有“添加”的定义。至于剩下的两个 - 我知道它肯定会有所帮助,我也在 .aspx 中尝试了我写的那个,但没有发生任何事情。如果您有任何其他想法 - 我会很高兴!
    • @vitaly 尝试使用 ddl.Items.Add() 方法,它是正确的版本
    • @NikolaiDante 谢谢,它有效。但是你能建议我应该把它放在哪里吗?为什么将它放入“Page_Load”方法和“OnInit”不起作用?我尝试使用按钮,但它不适合我。
    • 这将取决于Page Lifecycle。我以前做过on load,但那是在填充 ddl 的地方。
    【解决方案2】:

    我也是这样做的,试试这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 2022-10-06
      相关资源
      最近更新 更多