我正在尝试通过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>>
非常感谢你的帮助!
答案 0 :(得分: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 ...
答案 1 :(得分: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"));