Obtenir DataKey valeurs dans GridView RowCommand

J'ai un GridView avec un associé DataKey, qui est l'ID de l'élément.
Comment puis-je récupérer cette valeur à l'intérieur de la RowCommand événement?

Cela semble fonctionner, mais je n'aime pas le casting de LinkButton (ce que si une autre commande de tir à l'événement?), et je ne suis pas trop confiant au sujet de la NamingContainer peu.

LinkButton lb = (LinkButton)e.CommandSource;
GridViewRow gvr = (GridViewRow)lb.NamingContainer;
int id = (int)grid.DataKeys[gvr.RowIndex].Value;

Je suis conscient que je pourrait passer que l'ID que le CommandArgument, mais j'ai choisi d'utiliser DataKey pour me donner plus de flexibilité.

Je sais aussi qu'il est possible d'utiliser un champ caché pour l'ID, mais je pense qu'un hack que je ne veux pas utiliser.

InformationsquelleAutor Farinha | 2010-05-12