Do iteration that will replace the index of the control from 0 to max length.
for(int i=0; i <= DataList1.Controls[i].ColumnCount; i++)
{
string pro_name = ((Label)DataList1.Controls[0].FindControl("lblpro_name")).Text;
double price = Double.Parse(((Label)DataList1.Controls[0].FindControl("lblprice")).Text.ToString());
string img = ((Image)DataList1.Controls[0].FindControl("pro_img")).ImageUrl;
}
The logic is here. Hope this one helps :)
Best regards,
Eduard