c#动态创建的按钮不触发点击事件
我在我的webform中添加了一个asp.net表。使用foreach语句在表中动态添加表行和单元格。 每行的最后一个单元格中都有一个按钮。与按钮一起,我创建了一个单击事件 当我点击按钮时,我想将页面发送到“Default.aspx”表单 但当我运行应用程序时,单击按钮只会刷新页面 代码如下:c#动态创建的按钮不触发点击事件,c#,asp.net,.net,C#,Asp.net,.net,我在我的webform中添加了一个asp.net表。使用foreach语句在表中动态添加表行和单元格。 每行的最后一个单元格中都有一个按钮。与按钮一起,我创建了一个单击事件 当我点击按钮时,我想将页面发送到“Default.aspx”表单 但当我运行应用程序时,单击按钮只会刷新页面 代码如下: int i = 1; Button btn; foreach (SP_GetEmpAgenda a in agenda) { TableRow r = ne
int i = 1;
Button btn;
foreach (SP_GetEmpAgenda a in agenda)
{
TableRow r = new TableRow();
AgendaTable.Rows.Add(r);
TableCell present = new TableCell();
present.Text = a.Arrived.ToString();
AgendaTable.Rows[i].Cells.Add(present);
TableCell buttonCell = new TableCell();
buttonCell.Width = 200;
buttonCell.Height = 50;
btn = new Button();
btn.Text = "Check-In";
btn.CssClass = "btn btn-outline-dark";
btn.Click += (s, e) => { Response.Redirect("Default.aspx"); };
buttonCell.Controls.Add(btn);
AgendaTable.Rows[i].Cells.Add(buttonCell);
i++;
}
单击事件没有响应,只是刷新页面。但是,当我在Page_Load事件中在该方法之外创建一个按钮时,该按钮正常工作
如何使用动态创建的按钮执行此操作???尝试在动态创建按钮时添加
ID
和runat=“server”
属性
btn = new Button();
btn.ID = "NewBtn";
btn.Text = "Check-In";
btn.CssClass = "btn btn-outline-dark";
btn.Attributes.Add("runat", "server");
btn.Click += new EventHandler(NewBtn_Click);
另外,单独添加按钮单击事件,并将响应.Redirect()
代码移动到该事件
protected void NewBtn_Click(object sender, EventHandler e)
{
Response.Redirect("Default.aspx");
}
或
如果仍然不起作用,请添加
使用submitbehavior=“false”
作为按钮属性,该属性将执行ASP.NET回发,而不是客户端的浏览器提交请求。如您所述,应在页面加载中创建动态添加的控件,以便其视图状态也将保持不变。如果您在中创建!我想那时也会有问题。因此,在没有任何if条件的页面加载中创建您应该使用锚链接进行重定向。它不会刷新页面移动“Response.Redirect(“Default.aspx”);”到下一行,添加断点并调试应用程序。它停了吗?@ChetanRanpariya,很有效,谢谢