[AJAX] ajouter un updatePanel par codebehind
Salut
J'essai un truc qui est peut être un "p'tit fort pour moi, p'tit gars ! "
Je voudrais ajouter un UpdatePanel par CodeBehind, dans lequel je mets un Label et une Button. Puis, lsorsque je clique sur ce Button je rajoute un autre Label.
Au démarage je place un Label et un Button qui déclenche l'ajoute de l'updatePanel.
Selon le code que je vais placé plus loin j'ai :
- un bouton et un label.
- je clqiue sur le bouton
- un autre label et un autre bouton apparraissent
- je clique sur le nouveau bouton
- tout disparait et il ne passe pas dans la Sub du bouton en question.
Voici mon code? Pouvez vous m'aider à comprendre pourquoi ça ne fais pas ce que je voudrais ?
Merci d'avance.
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Dim lTitre As New Label
lTitre.Text = "Bienvenue dans la Concession"
Me.Controls.Add(lTitre)
Dim btnVoiture As New Button
With btnVoiture
AddHandler btnVoiture.Click, AddressOf AfficheConcession
.Text = "Choisir une voiture"
.ID = "btnVoiture"
End With
Me.Controls.Add(btnVoiture)
Dim upConcession As New UpdatePanel
With upConcession
.UpdateMode = UpdatePanelUpdateMode.Conditional
.ID = "upConcession"
End With
Dim trigbtnVoiture As New AsyncPostBackTrigger
With trigbtnVoiture
.ControlID = btnVoiture.ID
.EventName = "Click"
End With
upConcession.Triggers.Add(trigbtnVoiture)
Me.Controls.Add(upConcession)
End Sub
Sub AfficheConcession(ByVal sender As Object, ByVal e As System.EventArgs)
Dim upc As UpdatePanel = Me.FindControl("upConcession")
Dim lTest As New Label
lTest.Text = "test d'affichage du panel de Consession"
upc.ContentTemplateContainer.Controls.Add(lTest)
Dim btnTest As New Button
With btnTest
AddHandler btnTest.Click, AddressOf AfficheDetailVoiture
.Text = "Détail de voiture"
.ID = "btnDetail"
End With
upc.ContentTemplateContainer.Controls.Add(btnTest)
Dim trigDetailVoiture As New AsyncPostBackTrigger
With trigDetailVoiture
.ControlID = btnTest.ID
.EventName = "Click"
End With
upc.Triggers.Add(trigDetailVoiture)
End Sub
Sub AfficheDetailVoiture(ByVal sender As Object, ByVal e As System.EventArgs)
Logage("je passe")
Dim upc As UpdatePanel = Me.FindControl("upConcession")
Dim lDetailVoiture As New Label
lDetailVoiture.Text = "Detail de la voiture"
upc.ContentTemplateContainer.Controls.Add(lDetailVoiture)
End Sub |
Si vous voulez recréer le contexte total : faire ça dans un ASCX vide et collez simplement ce code dans le page de CodeBehind, tout y est.