【发布时间】:2011-08-21 19:28:24
【问题描述】:
你能告诉我下面的代码有什么问题吗?
Panel div = new Panel();
Button btn1 = new Button { Text = "Delete", CommandArgument = "argument", ID = "remove" };
Button btn2 = new Button { Text = "Insert", CommandArgument = "argument2", ID = "insert" };
btn1.Click += new EventHandler(btn_click);
btn2.Click += new EventHandler(btn_click);
div.Controls.Add(btn1);
div.Controls.Add(btn2);
ph_plan.Controls.Add(div); // where ph_plan is a placeholder in the user control
protected void btn_click(object sender, EventArgs e)
{
Button btn = (Button)sender;
if(btn.ID == "remove")
// do this
else
// do that
}
上面的代码在点击用户表单中的按钮后立即发生。它应该创建 2 个分配了事件的新按钮。确实,它创建了按钮,但是当我单击它们时,什么也没有发生。我猜这些事件无法注册。我在这里做错了什么?
【问题讨论】:
-
我们可以看看 btn_click 代码吗?
-
你能告诉我们btn_click的代码吗?
-
当然。我现在正在编辑
-
完成,但请记住,问题是事件没有被触发。
标签: c# asp.net dynamic button click