那个帖子的地址:
http://community.csdn.net/Expert/topic/5479/5479321.xml?temp=.8438074是这样的,我动态添加了一个删除按钮        Button delete = new Button();
                delete.ID = "delete" + i.ToString();
                delete.Text = "删除";
                delete.Click += new EventHandler(this.deleteresv);以及几个控件        TextBox lea_dt = new TextBox();
                lea_dt.ID = "lea_dt" + i.ToString();
                lea_dt.Text = DateTime.Today.ToShortDateString();
                lea_dt.Width = 90;                Label rm_num = new Label();
                rm_num.ID = "rm_num" + i.ToString();
                rm_num.Text = "1";
                rm_num.Width = 20;他们都是以行的,有标示可以区分现在我想点击按钮以后,所有的这行的控件都被删除我用的就是delete.Click += new EventHandler(this.deleteresv);但是我断点以后,发现根本不会执行deleteresv这个函数,请问是怎么回事?哪里的问题顺便说一下:    protected void Page_Load(object sender, EventArgs e)
    {    }
我的Page_Load啥也没有写,是不是这里的问题,如果要写,应该写什么呢?谢谢大家

解决方案 »

  1.   

    private void button4_Click(object sender, System.EventArgs e)
            {
                this.Controls.Remove(button4);
            }
      

  2.   

    -_-
    what are you thinking about?
      

  3.   

    delete.Click += new EventHandler(this.deleteresv);你放在哪里?把它放在page_load里面试试
    很有可能楼主对asp.net的生命周期理解有误
      

  4.   

    delete.Click += new EventHandler(this.deleteresv)在什么地方?
    还有你deleteresv()方法怎么写的?
      

  5.   

    解决了,其实就是很简单的
    谢谢大家,给分吧~~呵呵using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class control_WebUserControl : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //跟踪用户控件状态值    
                ViewState["DataFieldCount"] = 0;
            }
            else
            {
                int a =(int)ViewState["DataFieldCount"];
                for (int counter = 0; counter < a; counter++)
                {
                    AddDataField(counter.ToString());
                }
            }
        }
        protected void Button1_Click1(object sender, EventArgs e)
        {
            AddDataField(ViewState["DataFieldCount"].ToString());
            ViewState["DataFieldCount"] = (int)ViewState["DataFieldCount"] + 1;
            
        }    private void AddDataField(string strFieldNum)
        {
            int i = 0;
            i = Convert.ToInt32(strFieldNum);        int j = 100;
            if (i < j)
            {            Button delete = new Button();
                delete.ID = "delete" + i.ToString();
                delete.Text = "删除";            TextBox arr_dt = new TextBox();
                arr_dt.ID = "arr_dt" + i.ToString();
                arr_dt.Text = DateTime.Today.ToShortDateString();
                arr_dt.Width = 90;
                TextBox lea_dt = new TextBox();
                lea_dt.ID = "lea_dt" + i.ToString();
                lea_dt.Text = DateTime.Today.AddDays(+1).ToShortDateString();
                lea_dt.Width = 90;            TextBox rm_num = new TextBox();
                rm_num.ID = "rm_num" + i.ToString();
                rm_num.Text = "1";
                rm_num.Width = 20;            TextBox pre_num = new TextBox();
                pre_num.ID = "pre_num" + i.ToString();
                pre_num.Text = "1";//是否取床位数?
                pre_num.Width = 20;            DropDownList rm_typ = new DropDownList();
                rm_typ.ID = "rm_typ" + i.ToString();            Panel1.Controls.Add(arr_dt);
                Panel1.Controls.Add(lea_dt);
                Panel1.Controls.Add(rm_typ);
                Panel1.Controls.Add(rm_num);
                Panel1.Controls.Add(pre_num);
                Panel1.Controls.Add(delete);
                delete.Attributes.Add("onclick", "return confirm('确定要删除该字段吗?');");
                delete.Click += new EventHandler(btnDelRow_Click);
            }
        }
        private void btnDelRow_Click(object sender, System.EventArgs e)
        {
            ViewState["DataFieldCount"] = (int)ViewState["DataFieldCount"] - 1;
            Button delete = (Button)sender;
            string id = delete.ClientID;
            string idcut = id.Substring(22);
            TextBox arr_dt = new TextBox();
            TextBox lea_dt = new TextBox();
            TextBox pre_num = new TextBox();
            TextBox rm_num = new TextBox();
            DropDownList rm_typ = new DropDownList();        Panel1.Controls.Remove(Panel1.FindControl("arr_dt" + idcut));
            Panel1.Controls.Remove(Panel1.FindControl("lea_dt" + idcut));
            Panel1.Controls.Remove(Panel1.FindControl("pre_num" + idcut));
            Panel1.Controls.Remove(Panel1.FindControl("rm_num" + idcut));
            Panel1.Controls.Remove(Panel1.FindControl("rm_typ" + idcut));
            Panel1.Controls.Remove(Panel1.FindControl("delete" + idcut));    }
            
    }