请问一个Timer问题,为什么我的这个没效果,看代码

myhid 2009-02-03 04:58:38

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lblResult.Text = DateTime.Now.ToString()
Dim timer As System.Timers.Timer = New System.Timers.Timer
timer.Interval = 1000
AddHandler timer.Elapsed, AddressOf OnTimeEvent
timer.Enabled = True
End If
End Sub
Private Sub OnTimeEvent(ByVal source As Object, ByVal e As System.Timers.ElapsedEventArgs)
lblResult.Text = DateTime.Now.ToString()
End Sub


为什么aspx上的lblResult没有变化.不会一秒一秒的往前跳??
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kofkyo 2009-02-03
  • 打赏
  • 举报
回复
postback的问题?
不过这样的刷新没什么用,1秒钟恐怕连回发响应都不够
Fibona 2009-02-03
  • 打赏
  • 举报
回复
aspx中timer的定时功能一般是用在global.asax 中的 Application_OnStart 事件过程中定义计时器,定时执行某件任务

如果你是页面中即使用了timer,进行事件响应的时候因为服务器端事件,造成整个页面刷新,定时器没有任何意义,
要在页面定时,可以使用javascript的
window.setTimeout或者setInteval来实现效果要好

如:
<div id="result"></div>
<script>
var value="1";
function usertimer()
{
document.getElementById("result").innerHTML="当前值为"+value;
value=value+1;
if(value<100)
{
window.setTimeout("usertimer()",1000);间隔一秒钟调用该函数
}

}
</script>
myhid 2009-02-03
  • 打赏
  • 举报
回复
楼上的兄弟,我按照你的方法,改为定义了一个全局的timer.可还是不行,我的是.net1.1 没法直接拖timer控件啊
walkghost 2009-02-03
  • 打赏
  • 举报
回复
你是在Page_Load里面定义的一个局部的timer,当过程结束的时候,你的timer就释放了。所以就不会再起作用了。你可以定义一个全局的timer。或者在页面上拖一个全局的timer。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧