【问题标题】:c# dynamically created buttons not firing click eventc#动态创建的按钮不触发点击事件
【发布时间】:2018-11-13 04:07:20
【问题描述】:

我在我的网络表单中添加了一个 asp.net 表。使用 foreach 语句在表格中动态添加表格行和单元格。 每行的最后一个单元格中都有一个按钮。除了按钮,我还创建了一个点击事件。

当我单击按钮时,我想将页面发送到“Default.aspx”表单。

但是当我运行应用程序时,单击按钮只会刷新页面。

代码如下:

    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 事件中通常在此方法之外创建一个按钮时,该按钮可以正常工作。

如何使用我动态创建的按钮执行此操作??

【问题讨论】:

  • 您应该使用锚链接进行重定向。它不会刷新页面
  • 移动 "Response.Redirect("Default.aspx");"到下一行,添加断点并调试您的应用程序。它停止了吗?
  • @ChetanRanpariya 成功了,谢谢

标签: c# asp.net .net


【解决方案1】:

正如你所提到的,动态添加的控件应该在 page_load 中创建,这样它们的视图状态也会保持不变。如果您在 !IsPostBack 中创建,那么也会有问题。所以在 page_load 中创建没有任何 if 条件

【讨论】:

    【解决方案2】:

    尝试在动态创建按钮时添加IDrunat = "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);
    

    另外添加您的按钮单击事件并将您的Response.Redirect() 代码移至它。

    protected void NewBtn_Click(object sender, EventHandler e)
    {
      Response.Redirect("Default.aspx");
    }  
    

    如果仍然不起作用,请将 UseSubmitBehavior="false" 添加为按钮属性,该属性将执行 ASP.NET 回发,而不是客户端的浏览器提交请求。

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 2015-10-04
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多