CODE-定時自動更新的UpdatePanel

雖然上回已明白揭示過UpdatePanel傳輸效率不佳的事實,剛好有同事請我提供網頁部分內容定期自動更新的範例。想了一下,UpdatePanel還是最佳的解決方案,理由是:

    1. 開發人員較少Javascript的開發經驗,但ASPX經驗豐富。
    2. 該網頁使用者人數不多,更新頻率不高(約一分鐘一次)。
    3. 需求很急迫,不是學新東西的好時機,希望使用的技術愈簡單愈易實作愈好。

符合上述條件的技術選項,毋庸置疑,非UpdatePanel莫屬!! (再次證明,"沒有一無是處的技術,只有用錯場合的白目")

我寫了以下的範例,用一個UpdatePanel包住Label1,另外放了一個Timer1,設定一秒Tick一次,至於UpdatePanel,當然就用Timer1的Tick作為觸發事件,更新Label1.Text就寫在Timer1_Tick裡。另外,我設了按鈕可以透過CSS display屬性決定UpdatePanel顯示與否,驗證隱藏時會持續更新。(為求單純化,我連jQuery都沒拉進來)

UpdatePanel With Timer

程式碼如下,給有需要的人參考吧!

<%@ Page Language="C#" %>
<script runat="server">
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToString();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <input type="button" value="Show" 
onclick="$get('dvDisp').style.display='block';" />
    <input type="button" value="Hide" 
onclick="$get('dvDisp').style.display='none';" />
    <div id="dvDisp">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </ContentTemplate>
        <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
        </asp:UpdatePanel>
        <asp:Timer ID="Timer1" runat="server" 
ontick="Timer1_Tick" Interval="1000">
        </asp:Timer>
    </div>
    </form>
</body>
</html>
歡迎推文分享:
Published 11 December 2008 03:21 PM 由 Jeffrey
Filed under: , ,
Views: 12,389



意見

# SlimeMeteor said on 11 December, 2008 11:49 PM

不知道要怎樣跟版主說,只好在這邊留言

www.microsoft.com/.../default.aspx

IE 8 的 Beta2 出了 ......

(有神奇的 F12 功能,對網頁開發有些幫助)

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<December 2008>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication