我正在尝试调用动态创建的按钮单击事件。在这个事件中,我想在单击动态创建的按钮时显示一条消息。
我的代码
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnMain_Click(object sender, EventArgs e)
{
Button btnNew = new Button();
btnNew.ID = "btnClick";
btnNew.Text = "Click";
btnNew.Click += new System.EventHandler(btnNew_Click);
this.form1.Controls.Add(btnNew);
}
protected void btnNew_Click(object sender, EventArgs e)
{
Label lblMeaaseg = new Label();
lblMeaaseg.ID = "txtMessage";
lblMeaaseg.Text = "Hello Shree";
this.form1.Controls.Add(lblMeaaseg);
}
最佳答案
在 btnMain
点击引起的回发期间,您在 btnMain
的点击事件处理程序中创建动态按钮。之后,您会在浏览器页面中看到新按钮,单击它并期望触发其单击事件处理程序 (btnNew_Click
)。按下新的动态按钮会导致新的回发,该回发由 ASP.NET 在服务器上创建的页面的新实例处理。这个新页面没有动态按钮 - 没有任何东西连接到 btnNew_Click
。您必须编写代码来保留动态按钮已创建的事实,并在每次实例化页面时重新创建此按钮。这样这个按钮就有机会感受和响应它的客户端点击。
关于c# - 动态创建的按钮单击事件在 asp.net c# 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29167332/