Bonjour,
Je suis un débutant en asp.net, et en c# aussi, et je cherche depuis maintenant bien trop longtemps pour mes nerfs comment récupérer l'id du dernier enregistrement effectué dans une table par un DetailsView et un SqlDataSource.
Il faut noter que, l'id mis de côté, tout fonctionne parfaitement pour éditer, ajouter et supprimer des entrées dans la table. J'ai donc modifié l'InsertCommand de mon SqlDataSource pour ressembler à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
InsertCommand=" ma commande d'insertion qui fonctionne;SELECT @NewID = SCOPE_IDENTITY()"
et dans les InsertParameters :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<asp:Parameter Name="NewID" Type="Int32" Direction="Output" />
Puis j'essaie de récupérer cette valeur dans :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
    {
        int id;
        id = (int)e.Values["NewID"];
        TextBox1.Text = id.ToString();
     }
Mais rien à faire, j'obtiens toujours un "System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet." sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
id = (int)e.Values["NewID"];
Une bonne âme pour m'aider ?