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 :

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()));
        }
    }
La première ligne de mon GridView est selectionée et la photo est affichée.



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 :

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);
    }
Mais la j'ai un plantage qui me dit :


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