Bug sur le CommandField et le ButtonField ASP.NET 2.0
Je viens de passer un bon moment à traquer un bug vraiment vilain dans la GridView ASP.NET 2.0.
Si vous mettez un CommandField ou un TemplateField de type Image dans une GridView, le postback sera fait 2 fois au lieu d'une normalement mais seulement si le navigateur est IE. Apparemment il s'agit d'un bug connu, en tous cas j'ai trouvé plusieurs fils sur des forums qui en parlent dont celui-ci (en anglais).
Comme je suis curieux j'ai regardé avec Fiddler ce qui se passe. IE fait 2 requètes identiques sauf qu'a la fin de la deuxième il a ajouté les coordonnées du click de la souris sur l'image (ex. x=3&y=5). Je soupçonne un bug dans les librairies javascript ASP.NET 2.0 qui gèrent le postback mais je laisse ça aux gens qui lisent couramment le javascript :)
La solution de contournement est d'utiliser un TemplateField avec un ImageButton dont l'attribut CommandName aura la valeur appropriée ("Select" pour un bouton select, etc).
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :