ButtonColumn e Command Argument

Alle righe della datagrid sono associabili bottoni/linkbutton ai quali è associabile un comando, ma le ButtomColumn hanno il CommandName ma non il CommandArgument. L'evento di ItemCommand,  associato al _click_ di una ButtonColumn, nasce per avere sia CommandName sia CommandArgument. Sarebbe comodo usare il CommandArgument per avere l'identificativo del record associato all'Item selezionato ma tutti gli esempi dell'MSDN portano il caso in cui tale identificativo è mappato su una colonna della griglia... ma mica è sempre così! Se l'identificativo è - esempio - un Guid cosa gli frega all'utente di avere una colonna tanto lunga e tanto incomprensibile?

Io faccio come segue:

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
 DataRowView drv = (DataRowView) e.Item.DataItem;
 ((LinkButton) e.Item.Cells[1].Controls[0]).CommandArgument = drv["ID"].ToString();
}

private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
 switch(e.CommandName)
 {
  case "UnComandoACaso":       
   int id = Convert.ToInt32(e.CommandArgument.ToString()); //Conversione della stringa nel tipo specifico dell'identificativo.
   //TODO: codice per _puffare_ l'elemento selezionato.
   break;
  }
 }
}

Controindicazioni?

MVP, riconfermato! :-D

Come Pierre, sabato è arrivata anche per me la riconferma al progetto MVP... inutile dire che sono davvero contento! :-D
«aprile»
domlunmarmergiovensab
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567