如何在另一个事件处理程序方法中访问动态创建的CheckBox事件状态
问题描述:
我已经在button1的click事件中动态创建了一个复选框数组。现在我想在另一个button2点击事件中检查它的checked属性。由于复选框控件是在运行时动态创建的,因此我无法在button2单击事件中访问它。请有人帮我解决这个问题。如何在另一个事件处理程序方法中访问动态创建的CheckBox事件状态
public void Display(ref string[] strDmn, ref string[][] strAvblty)
{
ch = new CheckBox[cntExt/2];
strDomInfo = new string[cntExt/2];
Table t = new Table();
t.Caption = "Domain Availablity";
t.BorderWidth = 1;
TableRow tr;
TableCell tc;
System.Drawing.ColorConverter colConvert = new ColorConverter();
for (int i = 0; i < (strDmn.Length); i++)
{
for (int l = 0; l < ((strAvblty[i].Length)/2); l++)
{
tr = new TableRow();
tr.BackColor = (System.Drawing.Color)colConvert.ConvertFromString("#F0E8FF");
for (int j = 0; j < 4; j++)
{
//string k = strAvblty[i][(i * 2 + 1)];
tc = new TableCell();
tc.Width = 300;
switch (j)
{
case 0:
ch[k - 1] = new CheckBox();
strDomInfo[k - 1] = strDmn[i] + "." + strAvblty[i][(l * 2)];
if (strAvblty[i][(l * 2) + 1] == "available")
{ }
else { ch[k - 1].Enabled = false; }
tc.Controls.Add(ch[k - 1]);
break;
case 1: tc.Text = strDmn[i];
break;
case 2: tc.Text = strAvblty[i][(l * 2)];
break;
case 3: tc.Text = strAvblty[i][(l * 2) + 1];
break;
}
tr.Cells.Add(tc);
}
t.Rows.Add(tr);
}
}
// desiredPanel is your panel
Panel1.Controls.Add(t);
}
protected void btnAdd2Cart_Click(object sender, EventArgs e)
{
//******I have get the boolen check property here ******
}
答
你必须创建在Page_Init
这些复选框,他们应该在回发重新创建。然后你将能够得到Button2's click handler
的值
protected void Page_Init(object sender, EventArgs e)
{
// Create here
}