我在我的 ASP.NET 网站的 CheckBox 事件中创建了一个动态 Page_Load

这是代码

 public CheckBox[] chk;
 chk[i] = new CheckBox();
 chk[i].ID = "chk" + dt1.Rows[i]["SubjectName"].ToString();
 chk[i].Text = dt1.Rows[i]["SubjectName"].ToString();
 PanelSubject.Controls.Add(chk[i]);

我以后如何才能知道用户是否检查了以这种方式创建的 CheckBox

最佳答案

您应该为动态创建的复选框注册事件,如下所示:

 public CheckBox[] chk;
 chk[i] = new CheckBox();
 chk[i].ID = "chk" + dt1.Rows[i]["SubjectName"].ToString();
 chk[i].Text = dt1.Rows[i]["SubjectName"].ToString();
 chk[i].CheckedChanged += WebForm1_CheckedChanged;
 PanelSubject.Controls.Add(chk[i]);


 void WebForm1_CheckedChanged(object sender, EventArgs e)
 {
      throw new NotImplementedException();
 }

您还需要保留 chk[i].AutoPostBack = true;

关于c# - 如何找出动态创建的复选框是否被选中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27854290/

10-10 00:48