按钮删除C#后未触发事件处理程序



我有一个表,其中包含来自SQL数据库的数据,该表由几行和几列组成。在显示包含数据的表之前,用户必须首先提供凭据,因此我动态地创建表(及其内容)。

在表中的每一行上,我都添加了一个带有"删除"按钮的单元格:

   // more code to create the table above
   Button remove = new Button();
   remove.Text = "Remove";
   remove.Click += new EventHandler(remove_Click);
   TableCell last = new TableCell();
   last.Controls.Add(remove);
   row.Cells.Add(last);
   //...

当用户单击按钮时,我希望删除数据库中的相应记录,并在回发后更新表。

这方面的代码是用remove_Click编写的,但该事件从未被激发,只是因为在回发后删除按钮不再存在,因此该按钮的事件无法被激发。如前所述:动态添加事件处理程序不触发

如果我不删除按钮,代码可以正常工作,但我如何启动事件并仍然想要删除按钮?

remove_Click事件处理程序中再次调用构建表的任何函数。由于在remove按钮触发后,数据库中不存在该记录,因此第二次调用BuildTable()时,在生成表时将不包括该记录。

假设你的.aspx看起来像:

...
<asp:PlaceHolder id="phTable" runat="server">
...

试试这样的东西:

    PageLoad(...)
    {
        BuildTable();
    }
    BuildTable()
    {
        phTable.Controls.Clear();
        Table T = new Table();
         //do stuff
        phTable.Controls.Add(T);

    }
    protected void remove_Click(object sender, EventArgs e)
    {
        //remove record from database
        BuildTable();
    }

您必须为Button控件分配一个唯一的ID。

相关内容

  • 没有找到相关文章

最新更新