2016-12-14 91 views
-2

在这些页面上,我有一个从OnInit事件开始的C#计时器。 我想在页面更改或关闭时停止它。 我可以使用哪些事件?页面更改事件ASP.NET

+0

有一个卸载事件,但如果你的页面被关闭之前实施的东西,你应该这样做在客户端,因为你不能做出响应流的进一步变化卸载时被调用。详情请参阅页面生命周期。 –

回答

0

您可以检查IsPostBack,然后禁用定时器。当页面关闭时,定时器也会停止。

if (IsPostBack == true) 
{ 
    Timer1.Enabled = false; 
} 
+0

当我更改页面时,计时器不会停止。我正在使用System.Timers.Timer –

+0

“change”是什么意思。在我的片段中,只要按一下按钮,计时器就会停止,文本框或下拉列表的更改将autpostback设置为true等。 – VDWWD

+0

就像重定向一样。我的代码是:'System.Timers.Timer t; \t \t \t保护覆盖无效的OnInit(EventArgs的发送) \t \t \t { \t \t \t \t base.OnInit(E); \t \t \t \t Load + = NuovaPrestazione_Load; \t \t \t} \t \t保护无效NuovaPrestazione_Load(对象发件人,EventArgs的) \t \t \t { \t \t \t \t如果(!的IsPostBack) \t \t \t \t { \t \t \t 吨=新系统。 Timers.Timer(20000); \t \t \t \t \t t.Elapsed + = new ElapsedEventHandler(OnTimedEvent); t.Start(); \t \t \t \t} \t \t \t} \t \t私人无效OnTimedEvent(对象源,ElapsedEventArgs E) \t \t \t { \t \t \t \t \t \t \t}' –