Reapter控件 什么时候 才能 获得 ItemTemplate上的 控件,我在ItemCreated事件试过,好像不行啊。我那个控件是lable.

解决方案 »

  1.   

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)  
      {  
      if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)  
      {  
      DropDownList ddl= e.Item.FindControl("ddl") as DropDownList;  
      }  
      }  
      

  2.   

    我想再问一下,Reaper内部是 什么机制。
    比如数据库查询出来有5条记录。
    reapeter是不是对每条记录都做一次绑定和create?
      

  3.   


    个人理解:
    1.ItemCreated:Repeater会根据你的数据源,为每一个DataItem创建一个ReapeaterItem
    2.ItemDataBound:然后将数据绑定至你前台的ItemTemplate中
    3.根据步骤1,重复步骤2,直到遍历完数据集
      

  4.   

    楼主既然有兴趣,去看下reapeter的CreateChildControls的源码吧
      

  5.   

    感觉这个控件好奇怪,当数据库里取出多条记录的时候
    DataBound 的e.Item.ItemType == ListItemType.Item时可以获得第一条数据,接下来的数据都在e.Item.ItemType==ListItemType.AlternatingItem时获得。