一千萬個為什麽

搜索

ASP.NET/AJAX - 從外部觸發的Web用戶控件更新面板

我有一個帶有updatepanel的Web用戶控件。在我的主頁上,我得到了其中3個控件。現在我想在主頁面上有一個計時器,它會觸發Web用戶控件中的更新面板。

我該怎麽辦呢?

提前致謝。

最佳答案

將AJAX計時器控件用作UpdatePanel觸發器

在UserControl中實現一個Update-Function,它調用Update-Panel的Update-Function,並在TimerTick-Event的Mainpage中為每個控件調用它。 設置UserControls的UpdatePanel的UpdatePanel =有條件。

例如,在UserControl的Codebehind中:

Public Sub Update()
    'bind Data to your UpdatePanel's content f.e.:
    Me.Label1.Text = Date.Now.ToLongTimeString
    Me.UpdatePanel1.Update()
End Sub

在您的主頁中:

Private myControls As New List(Of WebUserControl1)

Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
     For i As Int32 = 1 To 10
        Dim newControl As WebUserControl1= DirectCast(LoadControl("./WebUserControl1.ascx"), WebUserControl1)
        myControls.Add(newControl)
        MainPanel.Controls.Add(newControl)
     Next
End Sub

Protected Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    'in this example added dynamically
    For Each ctrl As WebUserControl1 In Me.myControls 
        ctrl.Update()
    Next
End Sub

在UserControl的ascx文件中:


    
                     
    

在Mainpage的aspx文件中:


    
     
        
                  
    

轉載註明原文: ASP.NET/AJAX - 從外部觸發的Web用戶控件更新面板