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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <amc-emilie@wanadoo.fr> a écrit dans le message de news:
4a641503$0$12648$ba4acef3@news.orange.fr...
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
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