如何将复选框添加到asp.net中的下拉列表中

本文关键字:net 下拉列表 asp 复选框 添加 | 更新日期: 2023-09-27 18:12:28

可能重复:
ASP.NET 中的多选下拉列表

我正在对下拉列表进行数据绑定,我想允许使用下拉列表旁边的复选框进行多选。我该怎么做。感谢

如何将复选框添加到asp.net中的下拉列表中

public class CheckBoxDropDownList :
    System.Web.UI.WebControls.WebControl,INamingContainer
{
    protected override void CreateChildControls()
    {
        base.CreateChildControls ();
        DropDownList ddl=new DropDownList();
        ListItem li=new ListItem("");
        ddl.Items.Add(li);
        ddl.Width =new Unit(100);
        ddl.Attributes.Add("onmousedown", "showdiv()");
        ddl.Attributes.Add("onclick", "showdiv()");
        ddl.Attributes.Add("ondragover", "hidediv()");
        ddl.Attributes.Add("onmouseout", "hidediv()");
        CheckBoxList cbl=new CheckBoxList();
        cbl.Width=new Unit(80);
        ListItem li1=new ListItem("ListItem1");
        ListItem li2=new ListItem("ListItem2");
        ListItem li3=new ListItem("ListItem3");
        cbl.Items.Add(li1);
        cbl.Items.Add(li2);
        cbl.Items.Add(li3);
        System.Web.UI.HtmlControls.HtmlGenericControl div=new 
            System.Web.UI.HtmlControls.HtmlGenericControl("div");
        div.ID="serverdiv";
        div.Controls.Add(cbl);
        div.Style.Add("BORDER-RIGHT", "black 1px solid");
        div.Style.Add("BORDER-TOP", "black 1px solid");
        div.Style.Add("BORDER-LEFT", "black 1px solid");
        div.Style.Add("BORDER-BOTTOM", "black 1px solid");
        div.Style.Add("VISIBILITY", "hidden");
        this.Controls.Add(ddl);
        this.Controls.Add(div);
    }
}

组合框用于选择多个项目中的一个,而不是多个项目。这就是为什么它没有SelectedItems属性的原因。根据您的接口(例如WPF(,您可以使用数据绑定项模板。但我强烈建议不要这样做,这是一种糟糕的做法,而且你还隐藏了用户选择的多个项目。

如果您希望允许用户使用ListBox或ListView选择多个项目,则用户可以查看他们进行了哪些选择

请阅读这些关于Asp.net 4.0中使用C#和复选框的多选下拉列表的文章

这里是使用复选框在下拉列表中进行多选的好例子

我希望它能帮助你

也许CheckBoxList控件。。。它不是更适合多选场景吗?