[VB.NET] un label qui ne rends pas son texte
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:
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:
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
Citation:
update Speed_VoitureJoueur set Active = 1 where IDVoitureJ =
Merci pour votre aide.