【发布时间】:2015-12-23 03:30:13
【问题描述】:
这是一个有趣的问题。我有一个 ASP.NET 计时器 (Timer1),它应该增加一个整数变量,我用它来跟踪菜单中的哪个项目被选中。查看 Tick 事件处理程序。
'Menu_RightSide.Items(TimerMenuIndex).Selected = True`
Protected Sub Timer1_Tick(sender As Object, e As System.EventArgs) Handles Timer1.Tick
Select Case TimerMenuIndex
Case 0
bindDataToChart_locationChrono()
TimerMenuIndex += 1
Case 1
BindCurrentProgressDataToChart()
TimerMenuIndex += 1
Case 2
bindDBDataToChart()
TimerMenuIndex += 1
Case Else
'Do Something else
End Select
End Sub
这看起来应该是比较简单的逻辑。我想要的只是当调用 Tick 事件处理函数时,TimerMenuIndex 变量增加一。但是,由于某种原因,它不会增加。我应该提到TimerMenuIndex 是一个全局变量。我知道 Timer 控件是基于 AJAX 的,所以它不应该在 Timer 刷新页面时调用Page_Load 函数。我想不出任何为什么这不起作用的原因。我可能会遗漏一些非常明显的东西。有什么想法吗?
更新:这是与此功能相关的Page_Load 代码:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Menu_RightSide.Items(TimerMenuIndex).Selected = True
End Sub
【问题讨论】:
-
我想你可能会发现它确实会触发 page_load,因为它是部分回发。同时显示页面加载代码
-
我已经用请求的信息更新了问题。
-
@ic3man7019 你有脚本管理器吗?
-
@meda 是的,有一个 ScriptManager 存在。
-
请仔细阅读本指南,看看您是否遗漏了什么msdn.microsoft.com/en-us/library/…