动态添加用户控件FamilyInfo,控件Deleting事件,控件里头有个btndelete(按钮)。点击btndelete时触发Deleting事件在主页面的button事件下
{
FamilyInfo finfo = LoadControl("FamilyInfo.ascx") as FamilyInfo;
        finfo.ID = "finfo";
        FamilyInfo.Deleting += new EventHandler(finfo_Deleting);
}void finfo_Deleting(object sender, EventArgs e)
    {    }事件 触发不了。。谁帮我瞧瞧

解决方案 »

  1.   

    将以上代码单独写个函数。在Button_Click时调用这个函数,并设一个变量开关。在Page_Load中,根据变量开关,再次调用这个函数。
      

  2.   

    这是控件里头的btndelete事件 public static event EventHandler Deleting;
        protected void btndelete_Click(object sender, EventArgs e)
        {
            if (Deleting != null)
                Deleting(this, new EventArgs());
        }
      

  3.   

    类似这个:
    this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
    加上this、System再试试。
      

  4.   

    变量开关就是表示你点过了这个按纽了。Button_Click()
    {
      bLoadControl =  true;
      //加载控件。
    }Page_Load
    {
       if(bLoadControl)
        {
     //加载控件。       }
    }//原因就是动态控件必须每次在Page_Load时都加载一次才能保存其状态。
      

  5.   

    Page_Load 

      if(bLoadControl) 
        { 
    //加载控件。       } 

    这里要做什么?page_load里我没有代码
      

  6.   

    引用 9 楼 mb_1985 的回复:
    动态创建的控件会回发时会丢失,所以最好不要用 
    那有没有什么方法可以?========不是会“丢失”,不是不能用,关键在于你的“功底”,DotNetNuke SharePoint 到处是动态 uc无论是,usercontrol 还是 普通 server control,你要牢记,不能在仅仅在 回发事件 如 button_click 中执行你的动态添加代码,否则下次回发这个控件就不见了,一般在 Init 中完成
      

  7.   


    谢谢提醒! 
    在这里我把每增加的FamilyInfo控件都放在List<FamilyInfo>集合里的(静态的)
    在pageload里。重新添加了List<FamilyInfo>中的FamilyInfo控件!
    很奇怪的是。在FamilyInfo中的btndelete事件都触发不了!