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.