Solitamente una volta creato un event handler per eventi come RowCommand per GridView o ItemCommand per DetailsView e FormView, eseguiamo un confronto tra due stringhe, il CommandName esposto come proprietà dalle classiDetailsViewCommandEventArgs, FormViewCommandEventArgs o GridViewCommandEventArgs ed il nome del comando che vogliamo gestire, qualcosa come il seguente codice:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if(e.CommandName == "Select") { // codice } }
Questa soluzione può presentare problemi se per qualsiasi motivo in future versioni del .NET Framework il nome dei comandi dovesse cambiare
Internamente i controlli citatiutilizzano la classe DataControlCommands, non istanziabile, che espone un campo statico e pubblico per ogni comando.
Di conseguenza il codice precedente, per questioni di migliore leggibilità e correttezza, può diventare:
if (e.CommandName == DataControlCommands.SelectCommandName) { //fai qualcosa }
Di seguito la lista di tutti i possibili valori:
- CancelCommandName
- DeleteCommandName
- EditCommandName
- FirstPageCommandArgument
- InsertCommandName
- LastPageCommandArgument
- NewCommandName
- NextPageCommandArgument
- PageCommandName
- PreviousPageCommandArgument
- SelectCommandName
- SortCommandName
- UpdateCommandName
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Effettuare il binding di date in Blazor
Implementare il throttling in ASP.NET Core
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8