for(int i=1;i<=8;i++)
{
  TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox;
  if(txt!=null)
  {
      string value=txt.Text;//取值
  }
}

解决方案 »

  1.   


    protected void Button1_Click(object sender, EventArgs e)
    {
     datalist1.FindControl("Id");
    }
      

  2.   

    TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox; 
      

  3.   

    TextBox txt=DataList1.FindControl("TextBox"+i.ToString()) as TextBox; 这个获取的是空值
    string name = (DataList1.Items[0].FindControl("TextBox1") as TextBox).Text;
    我原先是这样写的 可以获取第一个值 但是我必须要通过循环才能获取其他textbox的值
      

  4.   

    string name = "";
    for (int i = 0; i < DataList1.Items.Count; i++)
    {
        for (int j = 0; j < DataList1.Items[i].Controls.Count; j++)
        {
            if ("TextBox".Equals(DataList1.Items[i].Controls[j].GetType().Name))
            {
                name = (DataList1.Items[i].Controls[j] as TextBox).Text; 
                
            }
        }
    }
      

  5.   

     不用获取得,你 后台不是有绑定的方法吗,直接遍历那个dataSet就可以了!
      

  6.   


    foreach(DataListItem item in DataList1.Items) 

      for(int i=0;i<9;i+)
        Textbox txt=item.FindControl("TextBox"+i.ToString()) as Textbox ; 

      

  7.   

    使用for语句,操作与gridview操作类似
      

  8.   

    http://blog.csdn.net/xianfajushi/archive/2008/11/30/3413317.aspx