Bonjour
Comme le titre le dis j'ai un problème pour récupérer, la valeur de la proprièté SelectedDataKey. J'explique mon cas :
J'ai un gridview comme ceci
En cliquant sur un bouton dans mon gridview, je voudrais mettre à jour ma base de donnée (Pour ma part j'ai pris un bouton supprimer car c'est pour le retiré de la liste), Donc voici la procédure :
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 <asp:GridView ID="verif_Video" runat="server" AutoGenerateColumns="False" Width="715px" CellPadding="4" ForeColor="#333333" GridLines="None" style="margin-left:5px;" DataKeyNames="ID" onpageindexchanging="verif_Video_PageIndexChanging" onselectedindexchanged="verif_Video_SelectedIndexChanged" AllowPaging="True" onrowdeleting="verif_Video_RowDeleting" Visible="False"> <Columns> <asp:CommandField ButtonType="Image" SelectImageUrl="~/Images/Icones/Ico_Modifier.gif" ShowSelectButton="True" /> <asp:BoundField DataField="ID" HeaderText="ID" Visible="false" > <FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" /> <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" /> <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" /> </asp:BoundField> ... </Columns> </asp:GridView>
La ligne qui pose problème c'est la ligne en rouge, in ne me retourne un erreur comme quoi la référence de l'objet n'est pas définis, Qu'est ce que j'ai oublié ?
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
28
29
30 protected void verif_Video_RowDeleting(object sender, GridViewDeleteEventArgs e) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string Video_id = verif_Video.SelectedDataKey.Value.ToString(); if (element_afficher.Text != "1") { string video_mise_a_jour = "UPDATE [VidéoMania].[dbo].[VIDEO_Liste_Video] " + "SET [Verification] = 1 " + "WHERE ID = '" + Video_id + "'"; SqlCommand Execute_requete = new SqlCommand(video_mise_a_jour, connection); int nbsite = Execute_requete.ExecuteNonQuery(); verif_Video.DataSource = Verif_Video_data; verif_Video.DataBind(); } else { string video_mise_a_jour = "UPDATE [VidéoMania].[dbo].[VIDEO_Liste_Video] " + "SET [Verification] = null " + "WHERE ID = '" + Video_id + "'"; SqlCommand Execute_requete = new SqlCommand(video_mise_a_jour, connection); int nbsite = Execute_requete.ExecuteNonQuery(); verif_Video.DataSource = Verif_Video_data; verif_Video.DataBind(); } } }
Merci pour votre aide
Partager