2011-03-09 76 views
0

我产生我的复选框动态:ASP.net动态复选框

for (int i = 0; i < dtCommon.Count; i++) 
{ 
    CheckBox newBox = new CheckBox(); 
    newBox.Text = dtCommon[i].userName; 
    newBox.CssClass = "cbox"; 
    if (dtCommon[i].isAlreadyRequired > 0) 
    { 
     newBox.CssClass = "cbox highlighted"; 
     newBox.Checked = true; 
    } 
    ApprovalSelectPanel.Controls.Add(newBox); 
} 

当按钮被按下保存我调用这个函数:

protected void SaveUsers(object sender, EventArgs e) 
{ 

} 

我如何知道哪些复选框用户已检查?!

回答

1

您可以循环访问ApprovalSelectPanel.Controls并将它们转换回相应的CheckBox类型并验证Checked属性。

+0

只要确保不重新生成page_load上的复选框,而不检查page.ispostback,否则您将得到疯狂的结果/错误。 – asawyer

0

我认为这是更好地使用CheckBoxList的内ApprovalSelectPanel,而不是在运行时和在运行时添加它做以下

 CheckBoxList1.DataSource = dtCommon; 
     CheckBoxList1.DataMember = "userName"; 
     CheckBoxList1.DataBind(); 

要知道选择哪一个呢下面

  foreach(ListItem item in CheckBoxList1.Items) 
      if (item.Selected) 
      { 
       //Do any action 
      }