Pagination Gridview, selectedIndex,Récup Identifiant
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:
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:
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