protected override void OnDataBinding(EventArgs e)
{
if(ItemTemplate!=null && DataSource!=null)
{
int pageSize=PageSize;
int offsetNo=(PageNo-1)*PageSize; for(int i=0; i<PageSize && (offsetNo+i)<DataSource.Count; i++)
{
AfrDataListItemTemplate itemTemplate=new AfrDataListItemTemplate(); // 设置数据项
itemTemplate.DataItem=DataSource[offsetNo+i]; // 实例化数据项模板
ItemTemplate.InstantiateIn(itemTemplate); // 绑定模板控件
itemTemplate.DataBind();//问题在这里,,这里通过逻辑容器调用数据绑定是什么目的,,,如果没有这句,并在此控件中的<ItemTemplate>中在次嵌入此控件,那么嵌入控件将不在呈现,,是什么原因??(例子在最后)

// 将模板加入到控件集合
this.Controls.Add(itemTemplate);
this.itemList.Add(itemTemplate);
}
}
#endregion base.OnDataBinding(e);
this.ChildControlsCreated=true;
}test.aspx页面:
<uc1:DataList id="classList" RunAt="Server">
<ItemTemplate>
  
 <uc1:DataList RunAt="Server" id="classList1" DataSource=<%#Container.DataItem%>>
        <ItemTemplate>
         ----------
</ItemTemplate>
</uc1:AfrDataList>
</ItemTemplate>
</uc1:AfrDataList>