Bonjour

Je suis confronté à un soucis que je ne comprends pas. Je fais une page avec un DataList dedans. J'ai fait la même chse que dans une autre apge qui marche bien.

Dans le Datalist je fais apparaitre des données d'une table. En bout de ligne j'ai mis un LinkButton pour déclencher la commandUpdate.

Dans cette commandUpdate je fais des requêtes. La première passe bien (facile me direz vous quand vous l'aurez lue) mais la seconde ne recupère pas son paramettre qui vient d'un Label.Text.

J'ai tourné le problème dans tous les sens et je sèche, je ne vois pas où je me plante.

Voici le code, enfin la partie concernée pour ne pas emcombrer, de la apge aspx :
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
 
<TD width="100%" align="left" valign="top">
	<asp:Label id="lblPasVoiture" runat="server"></asp:Label>
	<asp:DataList id="dlVoiture" runat="server">
	<HeaderTemplate>	Ta voiture active :	</HeaderTemplate>
	<ItemStyle HorizontalAlign="Left" Width="480px" VerticalAlign="Top"></ItemStyle>
	<ItemTemplate>
		<table width="480px" align="left">
			<tr>
			<td>
			Marque :
			<%# databinder.eval (Container.DataItem,"Marque") %>
			Modele :
			<%# databinder.eval (Container.DataItem,"Modele") %>
			</td>
			<td>
			<asp:LinkButton id="btnRendeActive" runat="server" CommandName="Update">Rendre Active</asp:LinkButton>
			Active :
			<%# databinder.eval (Container.DataItem,"Active") %>
			<asp:Label id="lblIndex" runat="server">
			<%# databinder.eval (Container.DataItem,"IDVoitureJ") %>
			</asp:Label>
			</td>
		</tr>
		</table>
		</ItemTemplate>
		<HeaderStyle HorizontalAlign="Left" Width="480px" VerticalAlign="Top"></HeaderStyle>
		</asp:DataList>
		</TD>
Au dessus il y a le HEAD, l'ouverture de la table et le FORM. En dessous, la fermeture d ela table et du FORM

et puis voici le code de la CommandeUpdate du Datalist :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Private Sub dlVoiture_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dlVoiture.UpdateCommand
        Dim sqlupd As String = "update Speed_VoitureJoueur set Active = 0 where IDJoueur = " & userid
        Dim cmdupd As New SqlCommand(sqlupd, scConnexion)
        cmdupd.ExecuteNonQuery()
 
        lblIndex = e.Item.FindControl("lblIndex")
        Dim IDV As String= lblIndex.Text
        Dim sqlupd2 As String = "update Speed_VoitureJoueur set Active = 1 where IDVoitureJ = " & IDV
        Dim cmdupd2 As New SqlCommand(sqlupd2, scConnexion)
        cmdupd2.ExecuteNonQuery()
        lblPasVoiture.Text = sqlupd2
        lblPasVoiture.Visible = True
    End Sub
ET maintenant la requête systématiquement retournée
update Speed_VoitureJoueur set Active = 1 where IDVoitureJ =
Merci pour votre aide.