AJAX中UPDATEPANEL配合TIMER控件实现局部无刷新
首先加入UpdatePanel
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
???????????????????? //注:UpdateMode為更新模式,設置此屬性表示只刷新UpdatePanel中的部分,若不加此屬性,默認為Always,刷新整個頁面。
? ? ? ? ? ? ? ? ? ? ? ? ? ??
?????????????????????????? //OnTick為時間促發函數(后臺函數),Interval為時間5000為5秒,即每5秒后促發此函數
??????????????????????????? </asp:Timer>
???????????????????????? <在此添加需要刷新的內容>
? ? ? ? ? ? ? ? ? ? ? <Triggers>//此處相當于關聯。簡單解釋就是通過Timer1來促發UpdatePanel的刷新
????????????????????????????????????? <asp:AsyncPostBackTrigger ControlID="Timer1 EventName="Tick" />
? ? ? ? ? ? ? ? ? ? ? </Triggers>
<ContentTemplate>
<asp:Timer ID="Timer1 runat="server" Interval="5000" OnTick="Timer2_Tick">
???????????????????????? </ContentTemplate>
??????????????????? </asp:UpdatePanel>
后臺代碼:
即剛才的TIMER_TICK。
protected void Timer1_Tick(object sender, EventArgs e)
??? {
???????? 此處寫上需要在5秒后做的事情。
?? }
Timer,顧名思義即是一個定時器控件,通過它可以在指定時間間隔內刷新UpdatePanel或整個頁面。該控件包含一個重要的屬性??Interval?,用來定義刷新的時間間隔,單位為毫秒。另外包含一個Tick?事件,可以用來定義服務端行為。一個頁面可以定義多個Timer控件來為不同的UpdatePanel指定刷新間隔,也可以多個UpdatePanel共用一個Timer。
Timer控件可以在UpdatePanel內聲明,這時自動作為該UpdatePanel的Trigger:
ASP.NET-Code: <asp:ScriptManager?runat="server"?id="ScriptManager1"?/>?<asp:UpdatePanelrunat="server"?id="UpdatePanel1"?????UpdateMode="Conditional">???<contenttemplate>????<asp:Timer?id="Timer1"?runat="server"???????Interval="120000"??????OnTick="Timer1_Tick">?????</asp:Timer>???</contenttemplate>?</asp:UpdatePanel>?
也可以在UpdatePanle外聲明,此時如果要刷新該UpdatePanel,則必須指定Timer為它的Trigger:
ASP.NET-Code: <asp:ScriptManager?runat="server"?id="ScriptManager1"?/>?<asp:Timer?ID="Timer1"runat="server"?Interval="120000"???OnTick="Timer1_Tick">?</asp:Timer>?<asp:UpdatePanelID="UpdatePanel1"?runat="server">???<Triggers>?????<asp:AsyncPostBackTriggerControlID="Timer1"?????????EventName="Tick"?/>?????</Triggers>?????<ContentTemplate>???????<asp:Label?ID="Label1"?runat="server"?></asp:Label>???</ContentTemplate></asp:UpdatePanel>?
在本例中我們可以定義他的Tick事件,用來顯示最近刷新的時間
C#-Code: protected?void?Timer1_Tick(object?sender, EventArgs e) { ?????Label1.Text = DateTime.Now.ToString(); }?
注:Timer控件與UpdatePanel一樣均需要ScriptManager控件的支持。
轉載于:https://www.cnblogs.com/BrokenIce/p/6051779.html
總結
以上是生活随笔為你收集整理的AJAX中UPDATEPANEL配合TIMER控件实现局部无刷新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: angular_ui-router ——
- 下一篇: Node.js基本讲解