Ciao. Il tuo evento click in realtà non seleziona la riga (quindi il selected index del gridview ti risulta sempre -1).
Devi recuperare i controlli in cui è contenuta la tua immagine. Io lavoro in C#, ma la logica è la stessa:
1) faccio il cast del sender (cioè l'immagine su cui ho cliccato)
2) recupero la riga in cui è contenuta l'immagine attraverso il "parent": al primo livello c'è la cella, al secondo c'è la riga del gridview
3) Ora ho la mia riga: posso recuperare l'indice, rpendere il controllo di un'altra sua cella, etc...
Attenzione al lato client: la funzione .ToString manca delle parentesi:
E se non ti riconosce "eval", è solo perchè è attaccato al simbolo "#": basta dargli una spaziatura:
# eval.
Buona giornata,
PV