HI,
u can try and run a for loop for repeater items and get all the values.
here is some sample code you may change based on your control and logic.
for (int index = 0; index < rptCost.Items.Count; index++)
{
HiddenField hfCostID =rptCost.Items[index].FindControl("hfCostID") as HiddenField;
TextBox txtCost = rptCost.Items[index].FindControl("txtCostValue") as TextBox;
TextBox txtEPvalue = rptCost.Items[index].FindControl("txtEPvalue") as TextBox;
Label lblEpvalue = rptCost.Items[index].FindControl("lblEpvalue") as Label;
Label lblEc = rptCost.Controls[rptCost.Items.Count + 1].FindControl("lblEc") as Label;
Label lblEp = rptCost.Controls[rptCost.Items.Count + 1].FindControl("lblEp") as Label;
Label lblDiff = rptCost.Controls[rptCost.Items.Count + 1].FindControl("lblDiff") as Label;
}
this way you can find the controls from your repeater and use the values to insert data in the database on button click.