Bon, alors je suis avec une histoire de GRidView pour fiare un module de messagerie. L'idée est davoir un tableau qui présente la liste des mesage avec Emmetteur, Date et sujet. En bout de ligne on mets deux boutons pour :
- voir le détail
- supprmier le message
Mon souci est le suivant : je n'arrive pas à lui envoyer l'identifiant du mesage (celui dans la table dans la BDD) que je remonte ans mon RecordSet.
J'avais fait un truc avec un champ en début de GridView que je cachais par du CSS, mais je trouve que c'est pas propre et surtout j'ai découvert le DataItem().
J'ai donc tenté un truc bien, mais j'ai mesasge d'erreur qui me laisse perplexe.
Voici le code mon GRidView côté HTML :
Puis le CodeBehind pour le CommandArgument :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <asp:SqlDataSource ID="sdsMessagerie" runat="server" ConnectionString="<%$ ConnectionStrings:DataDev %>"></asp:SqlDataSource> <asp:GridView ID="gvMessagerie" runat="server" DataSourceID="sdsMessagerie"></asp:GridView>
Vous pouvez voir dans la cas de SuppMessage, l'ancienne méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Protected Sub gvMessagerie_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvMessagerie.RowCommand Select Case e.CommandName Case "DetailMessage" Response.Redirect(GetPage("DetailMessage", enTypeRetour.html) & "&idmsg=" & gvMessagerie.Rows(e.CommandArgument).DataItem(0).ToString) Case "SuppMessage" Dim suppMSG As Int16 = New DManager("DataDev").RetournerScalaire("EXEC SITE_Messagerie_SuppMSG " & gvMessagerie.Rows(e.CommandArgument).Cells(0).Text & ",'" & Mode & "'") gvMessagerie.DataBind() Case Else End Select End Sub
Par contre, le DetailMessage génère le message suivant :
Je ne comprends pas ce message. Pouvez vous m'aider ?Variable objet ou variable d'un bloc With non définie.
Partager