计时器方法计时后页面中缺少控件

时间:2013-04-02 19:07:42

标签: asp.net timer request.form

我有一些处理计时器方法的代码,它只是更新标签并将其更改为此时的最后更新。

Protected Sub specialNotesTimer_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles specialNotesTimer.Tick
    Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString()
End Sub

然而,当它勾选时,通过按下按钮无法找到页面上的任何其他控件。缺少图像按钮或我的其他动态创建的控件。 我有一个函数,在页面上找到被触发的控件,然后返回控件,以便我可以确定要做什么

Public Shared Function GetPostBackControl(ByVal thePage As Page) As Control
    Dim myControl As Control = Nothing
    Dim ctrlName As String = thePage.Request.Params.Get("__EVENTTARGET")
    If ((ctrlName IsNot Nothing) And (ctrlName <> String.Empty)) Then
        myControl = thePage.FindControl(ctrlName)
    Else
        For Each Item As String In thePage.Request.Form
            Dim c As Control = thePage.FindControl(Item)
            If (TypeOf (c) Is System.Web.UI.WebControls.Button) Then
                 myControl = c
            End If
        Next

    End If
    Return myControl
End Function

这在timer.tick之前有效,但之后没有。该控件不会在Page.Request.Form中列为Item,当我知道控件存在时,它将抛出一个null异常。

0 个答案:

没有答案