添加用户控件运行的时候总是说"未将对象引用设置到对象的实例。"
private void InitializeComponent()  { 
this.img1.Click += new System.Web.UI.ImageClickEventHandler(this.img1_Click); this.Load += new System.EventHandler(this.Page_Load); 
}
以上是出错代码,主要是就那个ImageButton的事件报错。
下面的是我换成TextBox实验的,
TextBox txt=new TextBox();
Table1.Rows[0].Cells[0].Controls.Add(txt);
txt.Text="111111111";
txt.ID="Wucl"+Convert.ToString(1);
我已经运行过,可以添加出TXT控件,并正确显示出来!
我把这个TXT控件换成用户控件,就出现开始说的错误了,
Wucl wl=new Wucl();  //Wucl是我的用户控件名
Table1.Rows[0].Cells[0].Controls.Add(wl);
wl.ID="Wucl"+Convert.ToString(1);
用户控件里有个ImageButton,定义了一个点击事件,但我又不想取消这个事件,请问高手有什么更好的方法解决?

解决方案 »

  1.   

    你这个控件是ascx方式的吗,这样的需要在aspx里添加标记.用new Wucl();  是不行的。
      

  2.   

    如果想动态添加,请在页面中先创建好了,然后然后添加
    如果数目不固定建议改用自定义控件,可以用new xxx()
      

  3.   

    原因:new Wucl()并没有对ImageButton实例化
    可以这样改写控件
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
                ImageButton tmp = new ImageButton();
                this.Controls.Add(tmp);
                tmp.Click+=new System.Web.UI.ImageClickEventHandler(this.img1_Click);  }