ASP.NET 后台动态生成CheckBOx控件并获取选中的值

DataTable dtES = ExperienceShopInfo.getExperienceShopAll();

CheckBox checkBox;

public void CheckBoxNew()

{

for (int i = 0; i < dtES.Rows.Count; i++)

{

//Table table = new Table();

//TableRow row = new TableRow();

//TableCell cell = new TableCell();

checkBox = new CheckBox();

checkBox.AutoPostBack = true;

checkBox.Text = dtES.Rows[i]["es_ShopName"].ToString();

checkBox.ID = dtES.Rows[i]["es_No"].ToString();

//checkBox.ID = "ck" + i;

checkBox.CheckedChanged += eventFunction;//eventFuntion是事件处理的函数

//cell.Controls.Add(checkBox);

//row.Cells.Add(cell);

//table.Rows.Add(row);

this.Panel1.Controls.Add(checkBox);

}

}

protected void eventFunction(object sender, EventArgs e)

{

for (int i = 0; i < this.Panel1.Controls.Count - 1; i++)

{

//CheckBox ckf = (CheckBox)Panel1.FindControl("ck" + i);

CheckBox ckf = (CheckBox)Panel1.FindControl(dtES.Rows[i]["es_No"].ToString());

if (ckf.Checked == true)

{

// ckf.Checked = true;

//for (int j = 0; j < count[i]; j++)

//{

//CheckBox ckf1 = (CheckBox)Panel1.FindControl("ck" + i);

CheckBox ckf1 = (CheckBox)Panel1.FindControl(dtES.Rows[i]["es_No"].ToString());

ckf1.Checked = true;

Response.Write("<script>alert('" + ckf1.Text + "')</script>");

//}

}

else

if (ckf.Checked == false)

// CheckBox ckf = (CheckBox)Panel1.FindControl("ck"+i);

{

// ckf.Checked = true;

//for (int j = 0; j < count[i]; j++)

//{

//CheckBox ckf1 = (CheckBox)Panel1.FindControl("ck" + i);

CheckBox ckf1 = (CheckBox)Panel1.FindControl(dtES.Rows[i]["es_No"].ToString());

ckf1.Checked = false;

//}

}

}

}