Bonjour
Contexte : ASPNET, C#, BD SQL SERVEUR
Sur une page j'ai un gridview qui affiche une liste de photos et un cadre dans lequel j'affiche la photo de la ligne sélectionnée dans le gridview.
Mon gridview à la pagination activée.
A l'ouverture de ma page je remplis mon gridview grace à cette fonction :
La première ligne de mon GridView est selectionée et la photo est affichée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 private void RemplirPhotos() { Ods1.SelectMethod = ""; Ods1.SelectParameters.Clear(); Ods1.SelectParameters.Add("IdEdition", TxtIdEdition.Text); Ods1.TypeName = "Dal.Manifestations.PhotosDAL"; Ods1.SelectMethod = "ListePhotosEdition"; GdvPhotos.DataSourceID = "Ods1"; Ods1.DataBind(); GdvPhotos.DataBind(); if (GdvPhotos.Rows.Count == 0) { LblMessagePhotos.Text = "Aucune photo pour cette édition."; LblMessagePhotos.Visible = true; } else { LblMessagePhotos.Visible = false; GdvPhotos.SelectedIndex = 0; TxtIdPhoto.Text = GdvPhotos.SelectedDataKey.Value.ToString(); AfficherPhoto(int.Parse(TxtIdPhoto.Text.ToString())); } }
A chaque fois que je change de page je voudrai que la première ligne soit selectionnée et ainsi pouvoir récuperer l'identifiant de cette même ligne.
Je fais :
Mais la j'ai un plantage qui me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected void GdvPhotos_PageIndexChanged(object sender, EventArgs e) { GdvPhotos.SelectedIndex = 0; int IdPhoto = int.Parse(GdvPhotos.SelectedDataKey.Value.ToString()); AfficherPhoto(IdPhoto); }
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
Erreur source:
Ligne 228 : {
Ligne 229 : GdvPhotos.SelectedIndex = 0;
Ligne 230 : TxtIdPhoto.Text = GdvPhotos.SelectedDataKey.Value.ToString();
Ligne 231 : AfficherPhoto(int.Parse(TxtIdPhoto.Text.ToString()));
Ligne 232 : }
Je ne comprend pas ...qqn voit une explication et une solution ?
Merci d'avance
P.JEAN
Partager