如何在asp.net中创建动态复选框

时间:2011-08-23 10:52:45

标签: c# asp.net

我正在创建一个应用程序,我需要添加动态复选框列表。请有人告诉我如何使用C#添加动态复选框列表。

3 个答案:

答案 0 :(得分:5)

在您的表单上放置一个名为“placeHolder”的placeHolder,并将以下代码添加到您的Page_Load()......

CheckBoxList cbList = new CheckBoxList();

for (int i = 0; i < 10; i++)
    cbList.Items.Add(new ListItem("Checkbox " + i.ToString(), i.ToString()));

placeHolder.Controls.Add(cbList);

这将在CheckBoxList(cbList)中添加10个CheckBox对象。

使用以下代码检查CheckBoxList

中的每个CheckBox对象
foreach(ListItem li in cbList.Items)
{
    var value = li.Value;
    var text = li.Text;
    bool isChecked = li.Selected;
}

占位符用于在运行时将CheckBoxList添加到表单中,使用占位符可以让您更好地控制CheckBoxList及其项目在网页中的位置

答案 1 :(得分:2)

在代码后面,您可以创建新的ASP.NET控件,并且可以将这些控件添加到页面中。您需要做的就是创建新的CheckBoxList对象并向其添加ListItems。最后,您需要将CheckBoxList添加到Page

// Create CheckBoxList
CheckBoxList list= new CheckBoxList();

// Set attributes for CheckBoxList
list.ID = "CheckBoxList1";
list.AutoPostBack = true;

// Create ListItem
ListItem listItem = new ListItem();

// Set attributes for ListItem
listItem .ID = "ListItem1";

// Add ListItem to CheckBoxList
list.Items.Add(listItem );

// Add your new control to page
this.Form.Controls.Add(list);

答案 2 :(得分:2)

这是一个例子

    CheckBoxList chkList = new CheckBoxList();
    CheckBox chk = new CheckBox();
    chkList.ID = "ChkUser";
    chkList.AutoPostBack = true;
    chkList.RepeatColumns = 6;
    chkList.DataSource = us.GetUserDS();
    chkList.DataTextField = "User_Name";
    chkList.DataValueField = "User_Id";                        
    chkList.DataBind();

    Panel pUser = new Panel();

    if (pUserGrp != "")   
    {
        pUser.GroupingText = pUserGrp ;
        chk.Text = pUserGrp;            
    }
    else 
    {
        pUser.GroupingText = "Non Assigned Group";
        chk.Text = "Non Assigned group";
    }
    pUser.Controls.Add(chk);
    pUser.Controls.Add(chkList);
    this.Form.Controls.Add(pUser);