在自定义控件中引用用户控件,然后我想取得其中一个web控件的UniqueID,但取不到,该怎么做?

类别:Asp 点击:0 评论:0 推荐:
我的程序的结构类似于微软出的那套论坛,先创建一个基类,继承自WebControl, INamingContainer
然后在类里面加入
protected override void CreateChildControls()
{
  //初始化所有继承自这个类的每个自定义控件中Load进来的用户控件
  InitializeSkin(Skin);
}
protected abstract void InitializeSkin(Control Skin);


在继承自上面这个类的子类中
protected override void InitializeSkin(Control Skin)
{
  //这个里面我加入控件,并想取得该控件生成到最终页上的ID,应该是UniqueID这个属性,但在这里却取不到,取到的结果是它的Id,我该怎么做能取到它的UniqueID呢?
  RadioButtonList rblIcon;
  rblIcon = (RadioButtonList)Skin.FindControl("rblIcon");
  Page.Response.Write(rblIcon.UniqueID);
}


解决办法:很简单,但一直没想到
在继承自上面这个类的子类中
protected override void InitializeSkin(Control Skin)
{
  RadioButtonList rblIcon;
  rblIcon = (RadioButtonList)Skin.FindControl("rblIcon");
  rblIcon.Load += new EventHandler(rblIcon_Load);
  }
 private void rblIcon_Load(object sender, EventArgs e)
{
  //在这里就可以得到了,呵呵
  Page.Response.Write(rblIcon.UniqueID);
}

本文地址:http://com.8s8s.com/it/it7421.htm