Ciao, ho provato ad usare il codice (lato client e lato server) che hai postato e a me funziona. Puoi provare a ri-registrare l'evento di Updating.
Solo alcune note sul tuo codice, che magari hai già corretto o ti sono sfuggite:
Così prendi il tipo di controllo e non il testo:
restituisce "System.Web.UI.WebControls.TextBox". Se vuoi il testo, ovviamente è:
string newDesc = ((TextBox)gridFotoInserite.Rows[e.RowIndex].FindControl("txt_Descrizione")).Text;
Dopo avere aggiornato il tuo dataset, va ri-bindato, altrimenti le modifiche non vengono prese:
Session["dataSetRisorsa"] = dataS;
gridFotoInserite.EditIndex = -1;
gridFotoInserite.DataSource = dataS;
gridFotoInserite.DataBind();
Il catch va senza le parentesi, se non lancia una Exception:
catch
{}
Infine, come anticipato nel codice sopra, l'index va riportato a -1 prima del bind.
Spero di esserti stato d'aiuto.
Un saluto,
PV