2016-12-14 55 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}' –