la soluzione che hai adottato non mi piace (scusa la franchezza).

se mostri un record alla volta, che utilità ha utilizzare una gridview?
si può semplificarti la creazione del codice HTML, ma vale la pena fare una query che restituisce n record per poi vederne uno solo?

per quanto riguarda l'ID nascosto in una cella, come viene calcolato? è un dato che hai nella Datatable?

ciao