Ciao, puoi postare un po' di codice, tanto per capire che cosa ti serve recuperare dalla riga del repeater selezionato?
Comunque, in linea di massima, di solito io utilizzo questo metodo:
1) in ogni riga del repeater aggiungo anche i campi (nascosti o meno) dei dati che voglio recuperare, come ad esempio un ID univoco di una tabella del DB.
2)Tra gli eventi del Repeater crei e registri l'ItemCommand
3) In questo evento hai due elementi:
A) l'oggetto SOURCE, che è il repeater stesso
B) l'ARGUMENT, a cui puoi passare delle segnalazioni. Ad esempio, per un tasto "elimina" passi il testo "delete" e per un tasto "apri" passi il testo "open".
A questo punto, al click del bottone, si scatena l'evento "onitemcommand". Da qui posso recuperare tutti i dati della riga ed eventualmente fare le mie operazioni (delete, open, etc...)
Provo ad abbozzarti un esempio in C#, dove ho un repeater con dati passati da un DB. I campi di ogni riga sono: un image button, una label con l'id della riga, una label con il titolo della riga.
lato client:
Ora gestisco l'evento (che dovrebbe avere creato in automatico Visual Studio) lato server:
Ad esempio, se il command che gli passo è "apri", posso richiamare un'altra funzione per aprire il dettaglio, recuperando e passandogli l'Id della riga o quel che voglio
private void RepeaterCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandArgument.ToString().CompareTo("apri") == 0)
{
int ID_riga = Convert.ToInt32(((Label)e.Item.FindControl("lbl_idRiga")).Text);
ApriDettaglio(ID_riga);
}
//se ad esempio voglio colorare di rosso il testo del titolo:
((Label)e.Item.FindControl("lbl_idRiga")).ForeColor = Color.Red;
}
Spero di essere stato chiaro e che ti possa servire.
Ciao!