【问题标题】:Execute ASP.nett codebehind method with Ajax Timer使用 Ajax Timer 执行 ASP.nett 代码隐藏方法
【发布时间】:2021-05-07 13:17:42
【问题描述】:

我试图让一个计时器在 5 秒后调用代码隐藏方法,但是当页面正在加载时,我得到了

方法“Protected WithEvents timEndup As System.Web.UI.Timer”没有与委托“Delegate Sub EventHandler(Of System.EventArgs)(sender As Object, e As System.EventArgs)”兼容的签名。

在我的页面上

<asp:ScriptManager runat="server" />
<asp:Timer runat="server" id="timEndup" interval="5000" ontick="timEndup" />

在我的代码隐藏中

Private Sub timEndup_Tick(sender As Object, e As System.EventArgs) Handles timEndup.Tick
    Stop
End Sub

签名在我看来是正确的,那么我做错了什么?

【问题讨论】:

    标签: ajax vb.net timer


    【解决方案1】:

    您已经在后面的代码中与EventHandlertimEndup.Tick Event 相关联:Handles timEndup.Tick

    所以,只需在客户端删除OnTick 属性,OnTick="timEndup" 必须删除

    或者删除:Handles timEndup.Tick后面的代码,并把OnTick属性中EventHandler Sub的真实姓名写成timEndup_Tick

    所以代码变成:

    客户端:

    <asp:ScriptManager runat="server" />
    <asp:Timer runat="server" ID="timEndup" Interval="5000"  OnTick="timEndup_Tick"  />
    

    服务器端:

    Protected Sub timEndup_Tick(sender As Object, e As EventArgs)
       Debug.WriteLine("Tick ")
    End Sub
    

    或者:

    客户端:

    <asp:ScriptManager runat="server" />
    <asp:Timer runat="server" ID="timEndup" Interval="5000" />
    

    服务器端:

     Protected Sub timEndup_Tick(sender As Object, e As EventArgs) Handles timEndup.Tick
          Debug.WriteLine("Tick ")
     End Sub
    

    另一件事是 EventHandler Sub 必须声明为 NOT Private

    【讨论】:

      猜你喜欢
      • 2013-08-16
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      相关资源
      最近更新 更多