Sinceramente non ne so molto di ajax.net. Però ho fatto una prova semplificando il tuo codice.
Al primo click dell'elemento creato da codice parte la richiesta ajax; al secondo ricarica la pagina; al terzo riparte ajax, ..., e così alternativamente.
Allora ho sostituito la creazione dello AsyncPostBackTrigger ed ho messo, per ogni elemento creato:
ScriptManager.GetCurrent(Page).RegisterAsyncPostBa ckControl(lb)
e sembra funzionare.
Il codice di prova è questo:
codice:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
CreaLink()
End Sub
Private Sub CreaLink()
Dim lb As New LinkButton()
lb.Text = "LinkButton1"
AddHandler lb.Click, AddressOf mioEventoClick1
Me.PlaceHolder1.Controls.Add(lb)
ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(lb)
Me.PlaceHolder1.Controls.Add(New LiteralControl("&_nbsp;&_nbsp;&_nbsp;"))
lb = New LinkButton()
lb.Text = "LinkButton2"
AddHandler lb.Click, AddressOf mioEventoClick2
Me.PlaceHolder1.Controls.Add(lb)
ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(lb)
'If Not Me.IsPostBack Then
'Dim trigger As New AsyncPostBackTrigger()
'With trigger
' .EventName = "click"
' .ControlID = Me.PlaceHolder1.Controls(0).UniqueID
'End With
'Me.UpdatePanel1.Triggers.Clear()
'Me.UpdatePanel1.Triggers.Add(trigger)
'End If
End Sub
Private Sub mioEventoClick1(ByVal sender As Object, ByVal e As EventArgs)
Me.Label1.Text = DateTime.Now().ToString
End Sub
Private Sub mioEventoClick2(ByVal sender As Object, ByVal e As EventArgs)
Me.Label2.Text = DateTime.Now().ToString
End Sub