ok allora il datagrid è questo:

<aspataGrid id="DataGrid2" runat="server" AutoGenerateColumns="False" Width="790px" DataKeyField="ExdOwnId"
CssClass="stile_tabella" BorderWidth="0" ShowHeader="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox Runat="server" Font-Bold=True Text='<%# DataBinder.Eval(Container.DataItem,"ExdTit")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>

<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"ExdDes")%>' ID="Textbox1"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</aspataGrid>
questo è il pulsante che porta alla funziona
<asp:Button id="bt_ModCV" runat="server" Width="56px" Text="Modifica"></asp:Button>
e questa è la funzione
int i;
for(i=0;i<DataGrid2.Items.Count;i++)
{
TextBox tit=((TextBox)DataGrid2.Items[i].Cells[1].Controls[1]);
TextBox des=((TextBox)DataGrid2.Items[i].Cells[2].Controls[1]);
//recupero l'id di Exd
string id=DataGrid2.DataKeys; //poi (e.item ... che non funziona
string query_exd="UPDATE Exd SET ExdTit='"+ tit +"', ExdDes='"+ des +"' where ExdOwnId="+ id;
SqlCommand cmd_exd= new SqlCommand (query_exd,conn);
conn.Open();
cmd_exd.ExecuteNonQuery();
conn.Close();
}