Этот первый раздел находится в цикле. Создает динамические флажки без проблем.
// All I am doing here is incrementing our session counter
int id = Convert.ToInt32(Session["id"]);
id++;
Session["id"] = id;
// Now I create my checkbox
chkDynamic = new CheckBox();
chkDynamic.Text = "hey";
string chk = "chk" + id.ToString();
chkDynamic.ID = chk;
chkDynamic.CheckedChanged += new EventHandler(this.chkDynamic_CheckedChanged);
Panel1.Controls.Add(chkDynamic);
Мой обработчик событий не подключен для этого. Странно, если я жестко закодирую идентификатор, который он работает, но только для одной итерации цикла, потому что если мы жестко закодируем идентификаторы, то мы столкнемся с «множественными ошибками идентификаторов»
protected void chkDynamic_CheckedChanged(object sender, EventArgs e)
{
if (chkDynamic.Checked)
Response.Write( "you checked the checkbox");
else if (!chkDynamic.Checked)
Response.Write("checkbox is not checked");
}