r["Id"] = ((HiddenField)DataList1.Items[0].FindControl("hfflowerid")).Value;
r["Name"] = ((Label)DataList1.Items[1].FindControl("lbname")).Text;
r["Quantity"] = 1;
r["UnitPrice"] = ((Label)DataList1.Items[2].FindControl("lbvipprice")).Text;
为什么我这样取到的值 都是第一条记录的
就是只取 第一条记录里的 这3个控件上的值我想取第二条 第三条记录 怎么弄 新手请教多谢

解决方案 »

  1.   


    for(int i=0;i<DataList1.Items.count;i++)
    {
      r["Id"] = ((HiddenField)DataList1.Items[i].FindControl("hfflowerid")).Value;
      r["Name"] = ((Label)DataList1.Items[i].FindControl("lbname")).Text;
      r["Quantity"] = 1;
      r["UnitPrice"] = ((Label)DataList1.Items[i].FindControl("lbvipprice")).Text;
    }
      

  2.   


    这件大虾 我用了你的方法  但是取出来的也只是一条记录   ID为301  应该是最后一条记录了。我想要的是  第一条ID1  第二条ID2 这样取出来。。 就是说DataList1.Items[] 里面的是当前选择的行
    然后取出里面的值来
      

  3.   

    二楼的是赋值的过程,你所说的是两个问题,赋值就是二楼的方法,取值的话,就用类似selectValue之类的东东
      

  4.   

    for(int i = 0; i < datalist.Items.Count; ++i)
    {
    HiddenField h= datalist.Items[i].FindControl("HiddenField1") as HiddenField;
    //赋值给数组等arr[i]
    }