OVH Cloud OVH Cloud

Pb FindControl

11 réponses
Avatar
Jean Claude
Bonjour

J'ai un problème avec l'utilisation de FindControl, quand j'écris dans mon
code :
For i As Integer=1 to Max
thisImage=Me.FindControl("Image" & i) ' Pour trouver le contrôle ImageX
' Traitement
Next

Si je teste, il ne trouve pas le controle Image1, ni les autres

Pouverz-vous me dire pourquoi, je ne trouve rien sur MSDN qui peut m'aider

Merci
Jean Claude

1 réponse

1 2
Avatar
Jean Claude
Patrice

J'ai complètement réécrit mon code et cela fonctionne
Merci pour ton aide

Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%
Bonjour,

Je ne suis pas sûr de comprendre pourquoi tu recherches le même contrôle
"Image" & I à la fois dans cphContenu puis justement dans le contrôle que
tu as trouvé ne connaissant pas la structure de la page.
Sinon je pense que le problème est peut-être que tu rends l'image n° I
visible sans masquer la précédente (ou les deux images sont visibles dès
le premier appel ?).

Si je reprends au début, il semblerait que tu veuilles afficher une seule
image à la fois et passer à la suivante à chaque click du bouton. Un
méthode qui me semble plus simple serait d'avoir un seul contrôle image et
de lui indiquer à chaque click du bouton quelle est l'image qu'il doit
afficher... On aurait alors dans la page qq chose comme :

<asp:Image ID="Image1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Suivante" />

Et dans le code :

Private Sub ShowNextImage()
Dim Images() As String = {"a", "b", "c"}
Image1.ImageUrl = Server.MapPath("~/images/" &
Images(Session("Num")) & ".jpg")
Session("Num") = (Session("Num") + 1) Mod Images.Length
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Session("Num") = 0
ShowNextImage()
End If
End Sub

Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
ShowNextImage()
End Sub
End Class

"Jean Claude" a écrit dans le message de
news: 478dbbe3$0$888$
Bjr Gilles

Voici mon code :
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs)

If Not IsPostBack Then

Session("Num") = 0

LblTitre1.Text = "Notre Savoir-Faire ..."

Image1.Visible = False

LblTexte2.Visible = False

TxtTexte2.Visible = False

Image2.Visible = False

End If

End Sub

Protected Sub BtnAutre_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles BtnAutre.Click

Dim I As Integer = Session("Num")

I = Session("Num") + 1

Dim thisImage As Control =
Master.FindControl("cphContenu").FindControl("Image" & I)

Dim imgUC As System.Web.UI.WebControls.Image =
thisImage.FindControl("Image" & I)

imgUC.Visible = True

Dim thisTitre As Control =
Master.FindControl("cphContenu").FindControl("LblTexte" & I)

Dim TitreUC As System.Web.UI.WebControls.Label =
thisTitre.FindControl("LblTexte" & I)

TitreUC.Visible = True

Dim thisTexte As Control =
Master.FindControl("cphContenu").FindControl("TxtTexte" & I)

Dim TexteUC As System.Web.UI.WebControls.TextBox =
thisTexte.FindControl("TxtTexte" & I)

TexteUC.Visible = True

End Sub


A chaque clic du bouton, je veux afficher Image1, Image2, etc...

Cordialement
J Claude

"Gilles TOURREAU [MVP]" a écrit dans le message
de news:
"Jean Claude" a écrit dans le message
de news:478c71dc$0$883$
Merci Gilles c'est OK

Par contre je veux afficher une image à chaque clic d'un bouton, j'ai
écris :
dans le page load j'ai :
If not IsPostBack then
session("num")=0
End if
j'ai mis le num en session car je dois récuperer le num pour d'autres
procédures
Protected Sub BtnAutre_click ....................
Dim I as integer=0
If Session("Num")<=7 then
Session("Num")=Session("Num")+1
I=Session("Num")
....................
End if
End sub

Et cela m'affiche deux images à la fois
je voudrais en afficher qu'une à la fois

Jean Claude



Bonjour,

Peux-tu montrer plus de code ? Car là il est très difficile de
comprendre la relation entre le clic du bouton et l'affichage des
images...

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr












1 2