io ho un esempio antico (molto antico )

invece dei textbox metto per esempio

<input type="text" value="<%# NullToString(Eval("testo"))%>" name="testo_<%# Eval("id")%>" />

la parte fondamentale per recuperare i dati è name="testo_<%# Eval("id")%>"


nel codice, evento load


If Not Me.IsPostBack Then
BindData()
End If

al clilck di un pulsante:
1) recupero tutti i parametri form la cui chiave inizia (nel mio caso) per testo_
2) per ogni chiave trovata ne recupero il value ed aggiorno i dati sottostanti
3) alla fine: BindData()

così va