2013-05-07 51 views
1

我正在開發一個asp.net網站。我有一個asp:Timer控件,每10分鐘更新頁面。我這樣做,設置間隔屬性,如下圖所示..以編程方式設置asp.net計時器間隔

<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="100000" Enabled="True"></asp:Timer> 

現在我有我需要的用戶選擇屏幕上的間隔週期的要求和所依據的用戶選擇,「間隔」值應改變。

,因此用戶在屏幕上是這樣的:

10 min 15 min 20 min 

點擊上述任何時間間隔值,「間隔」值會改變。

我在網上搜索,似乎沒有得到任何想法我可以如何前進。任何關於如何完成這件事的指針?

+0

問題是,你的間隔設置爲「100000」。 你可以改變它,但在每一頁重新加載,它會回到100000. 我會做一個下拉菜單和selectedindexchange後重定向到「yourpage.aspx?RefreshEverySeconds = X」,那麼你可以使用這個命令在Page_load事件: Response.AppendHeader(「Refresh」,Request.Querystring [「RefreshEverySeconds」]); – Solaflex 2013-05-07 21:00:58

+0

謝謝Solaflex!我有一個更新面板,並使用Timer作爲asyncpostbacktrigger。 – CodeNinja 2013-05-07 21:03:40

+0

好的,你使用AJAX? 然後我無法跟上,因爲我沒有儘可能深地使用AJAX :) C#或VB.NET? – Solaflex 2013-05-07 21:09:26

回答

4

的解決方案似乎使用ASP.NET AJAX定時器很簡單:

  1. 不要使用HTML(該部分Interval="100000"在以前的評論中指出)的硬編碼值。相反,把計時器初始化中Page_Load event (!IsPostBack){ }

  2. 在每個Timer.Tick事件檢查該下拉(或任何控制您提供給用戶,用於改變間隔)的內容,並在必要時更改時間間隔。

2a。如果重新加載頁面,則可以將間隔值保存在cookie或會話變量中。

希望這會有所幫助。我最好,AB

+0

看起來像是一種正確的解決方案,+1 – Solaflex 2013-05-07 21:40:50

+0

祝你好運!作爲一般規則,嘗試將「編程問題」分開,即:將HTML5用於內容,將CSS3用於格式化,並儘可能將C#置於模塊後面的代碼中。 – 2013-05-08 00:09:13

+0

完美!這對我有效!謝謝Alex Bell – CodeNinja 2013-05-08 19:44:33

相關問題