<asp:Table ID="Table1" runat="server"  Width="600px"></asp:Table>
控件中只有一个table控件,运行时根据DataTable动态向表中插入数据,并在每一行放一个"编辑"和"删除"button.
问题:程序运行时并不响应Button的Command事件
下面是部分源码 Button lbtnDel = new Button();
 lbtnDel.Text = "删除";
 lbtnDel.Command += new CommandEventHandler(lbtnDel_Command);
 lbtnDel.CommandName = "del";
 lbtnDel.CommandArgument = dr[0].ToString();
 lbtnDel.OnClientClick = string.Format("return confirm('确定要删除 {0} 为 {1} 的项吗?');", dt.Columns[0].ColumnName, dr[0].ToString());我只是想做一个通用的控件,请问为什么这么写会不能响应command事件?
或者有什么别的方式方法来实现会更好些?
谢谢!

解决方案 »

  1.   

    补充一下,之前用的LinkButton,上面的Button是刚才测试用的
      

  2.   

    是ascx还是自定义控件?后者的话..保证你的类实现INamingContainer接口
      

  3.   


    [ToolboxData(....)]
    public class xxxControl : WebControl, INamingContainer
    {
     ..........
     ............
    }
      

  4.   

    在回发的什么再去lbtnDel.Command += new CommandEventHandler(lbtnDel_Command);
      

  5.   

    我设断点调试了一下,先是页面的page_load,然后是母版页的page_load,最后是控件的.
    控件的page_load事件中我没有写代码,控件中有一个自定义datasource属性,并在属性的set块中向table插入数据和按钮.
    我也偿试在控件的page_load事件中更新table,但是一样不能响应command事件.
    目前除不能响应事件外,连table中的内容都没有,:-(
      

  6.   

    刷没了.把你生成和注册按钮的事件放到Page_load中试一下.
      

  7.   

    结贴了,谢谢两位的关注,我放弃了,项目等着要,没有时间去研究了,只好给每个页面单独写代码.
    我还做了一个分页的控件,在控件里写了一个事件,可是只在首次调用时管用,在单击控件里的"上一页"按钮后,一样没有效果,给分页控件添加事件,是放在if(!IsPostBack)外面的.
    断点查看,添加的事件也执行了,就是不显示,我哭~~~~
    习惯了做winform的,用winform的思路做WEB的,是一件很痛苦的事.
    唉~~希望能快点了解asp.net我另外开贴求用于datalist和gridview,能够分页的控件思路或实现方法.
    希望大家来看看.