先特别说明:是用foreach循环,不是用ItemDataBound事件 
foreach (RepeaterItem item in rptXXXXXXXX.Items)
{
//获取控件正常
    HtmlGenericControl c = (HtmlGenericControl)item.FindControl("c");
    //但是获取字段值总数返回0,字段名确认是正确的???
    int xxx = Convert.ToInt32(DataBinder.Eval(item.DataItem, "xxx"));
    
}

解决方案 »

  1.   


    补充说明:xxx是repeater对应datasource的一个字段,c是repeater内一个控件,两者并无关系
      

  2.   

    foreach (RepeaterItem item in rptXXXXXXXX.Items)
    {
            //获取控件正常
        HtmlGenericControl c = (HtmlGenericControl)item.FindControl("c");
           //但是获取字段值总数返回0,字段名确认是正确的???
        int xxx = Convert.ToInt32(DataBinder.Eval(item.DataItem, "xxx"));
        
    }要绑定之后能能有数据对象,需要在ItemDataBound之后才执行
      

  3.   


    我是像获取repeater对应datasource的一个字段的值,当然用hidden控件可以实现,但是有直接获取字段值的方法吗?
      

  4.   

    ItemDataBound事件之后数据才绑定上吧,你没绑定获取肯定是0.
      

  5.   

    未绑定字段chk.ID=DataBinder.Eval(((RepeaterItem)chk.NamingContainer).DataItem, "OID").ToString(); //类似这种绑定
      

  6.   


    你好,之前已完成了.databind()的