我正在创建一个应用程序,我需要添加动态复选框列表。请有人告诉我如何使用C#添加动态复选框列表。
答案 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);