这第一部分是循环的。它创建了没有问题的动态复选框。
// 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);
我的事件处理程序没有为此进行连线。扼要如果我硬编码它确实有效,但只对循环的一次迭代,因为如果我们硬编码ID,那么我们会遇到'多个id错误'
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");
}
答案 0 :(得分:3)
您需要在事件处理程序中检查发件人,以了解发送事件的复选框:
protected void chkDynamic_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
Response.Write( "you checked the checkbox");
else
Response.Write("checkbox is not checked");
}