Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Toujours Pb de PostBack

1 réponse
Avatar
Emilie
Bonjour à tous

J'ai une page avec des ImageButton créés dynamiquement (trois séries de
bouton :
ImbG1 à x, ImbAJ1 à x et ImbFN1 à x), je voudrais savoir celui qui est à
l'origine du post back, j'ai écrit le code suivant, et quand je teste

Dim control As Control = Nothing
Dim CtrlName As String = Request.Form("ImbG.UniqueID")
If Not String.IsNullOrEmpty(CtrlName) Then
control = Me.FindControl(CtrlName)
Dim LeControle As String = control.ID
Else
For Each ctl As String In Me.Request.Form
Dim c As Control = Me.FindControl(ctl)
If TypeOf c Is System.Web.UI.WebControls.ImageButton Then
Dim LeControle As String = c.ID
End If
Next
End If

Quand je teste au pas à pas, dans la boucle for next le ImbGx n'est pas
trouvé.
Quand je clic sur ImbAJx ou ImbFNx le postback supprime les ImbAJ ou les
ImbFN
Merci pour vos réponses car je galère et n'arrive pas à trouver l'erreur
Emilie

1 réponse

Avatar
Patrice
Bjr,

Cela date un peu mais si cela peut-être utile... Je ne sais plus quel est
l'origine du besoin d'utiliser explicitement le request.form. Sinon on peut
laisser l'infrastructure ASP.NET gérer cela toute seule, l'idée étant
d'associer le gestionnaire d'évènement qui va bien aux contrôles crées
dynamiquement. Par exemple (Message est un label, plh un PlaceHolder),
commandName ne sert à rien pas on peut aussi utliser l'évènement Command au
lieu de Click

Sub Click(ByVal sender As Object, ByVal e As ImageClickEventArgs)
Message.Text = DirectCast(sender, ImageButton).ID & " cliqué."
End Sub

Protected Sub Page_InitComplete(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.InitComplete
Dim b As ImageButton
For i = 1 To 4
b = New ImageButton
b.ID = "Btn" & i
b.CommandName = "Command" & i
b.AlternateText = "This is " & i
AddHandler b.Click, AddressOf Click
plh.Controls.Add(b)
Next
End Sub

--
Patrice

"Emilie" a écrit dans le message de news:
4a641503$0$12648$
Bonjour à tous

J'ai une page avec des ImageButton créés dynamiquement (trois séries de
bouton :
ImbG1 à x, ImbAJ1 à x et ImbFN1 à x), je voudrais savoir celui qui est à
l'origine du post back, j'ai écrit le code suivant, et quand je teste

Dim control As Control = Nothing
Dim CtrlName As String = Request.Form("ImbG.UniqueID")
If Not String.IsNullOrEmpty(CtrlName) Then
control = Me.FindControl(CtrlName)
Dim LeControle As String = control.ID
Else
For Each ctl As String In Me.Request.Form
Dim c As Control = Me.FindControl(ctl)
If TypeOf c Is System.Web.UI.WebControls.ImageButton Then
Dim LeControle As String = c.ID
End If
Next
End If

Quand je teste au pas à pas, dans la boucle for next le ImbGx n'est pas
trouvé.
Quand je clic sur ImbAJx ou ImbFNx le postback supprime les ImbAJ ou les
ImbFN
Merci pour vos réponses car je galère et n'arrive pas à trouver l'erreur
Emilie