Utilizzando il control GridView l'indice della riga del controllo che ha causato il PostBack, può essere recuperato attraverso l'evento RowCommand.
All'event handler viene passato come parametro un oggetto GridViewCommandEventArgs, attraverso la proprietà CommandArgument è possibile recuperare l'indice di della riga.
Il meccanisco è del tutto automatico per le CommandField, mentre nel caso della TemplateField è necessaria qualche riga di codice in più.
Per prima cosa recuperiamo l'oggetto all'origine del PostBack tramite la proprietà CommandSource, eseguiamo il cast su Control e successivamente recuperiamo il NamingContainer che nel nostro caso è l'oggetto GridViewRow, che espone la proprietà RowIndex.
Di seguito un estratto del codice:
// recupero l'oggetto che ha causato l'evento Control c = (Control)e.CommandSource; // recupero il NamingConteiner GridViewRow r = (GridViewRow)c.NamingContainer; // recupero e visualizzo l'indice della riga this.Label1.Text = string.Format("indice riga selezionata: {0}",r.RowIndex);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Implementare il throttling in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Cache policy su route groups di Minimal API in ASP.NET Core 7
Effettuare il binding di date in Blazor
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Short-circuiting della Pipeline in ASP.NET Core