asp.Netリフレッシュタイマーなし実現

2326 ワード

リフレッシュタイマーなし
ASP.NET AJAXは、タイマーコントロールと呼ばれるTimerコントロールを提供しています.このコントロールは、時間間隔とTickイベントを指定し、各時間間隔が到着すると、そのTickイベントがトリガーされます.したがって、このコントロールは、予め指定されたいくつかの操作をタイミングよく実行することができる.
目標を達成する.
この例ではASPの使用について説明する.NET AJAXでは、Timerコントロールがタイマーをリフレッシュしない機能を実現しています.このタイマーは、1秒ごとに現在時刻を表示します.
テクノロジー実装
1.AjaxTimerを作成する.aspxページ
Sample_21アプリケーションでAjaxTimerを作成する.aspxページで、ScriptManagerコントロール1つ、UpdatePanelコントロール1つ、Labelコントロール1つ、Timerコントロール1つを作成します.これらのコントロールのID属性の値は、sm、up、lbTime、およびtTimeです.ここで、smとupコントロールは、リフレッシュのないWeb環境を共同で提供します.tTimeコントロールはタイマコントロールであり、カウント機能を実現し、lbTimeコントロールにカウンタの値を表示する.AjaxTimer.aspxページのHTMLデザインコードの一部は以下の通りです.
<%@ Page Language="C#" AutoEventWireup="true" StylesheetTheme="Aspnet3DBWeb"CodeFile="UpdateData.aspx.cs" Inherits="UpdateData" %><%@ Page Language="C#" AutoEventWireup="true" StylesheetTheme="Aspnet3DBWeb" CodeFile="AjaxTimer.aspx.cs" Inherits="AjaxTimer" %>
2.AjaxTimer.aspxページはAjaxTimerを初期化する.aspxページ初期化機能はそのPage_Load(object sender,EventArgs e)イベント実装.カウンタの値が10以上の場合、イベントはカウンタを0にします.上記の機能を実現するプログラムコードは以下の通りである.
<%@ Page Language="C#" AutoEventWireup="true" StylesheetTheme="Aspnet3DBWeb" CodeFile="AjaxWeb.aspx.cs" Inherits="AjaxWeb" %>static int count = 0; protected void Page_Load(object sender, EventArgs e){   ///     if(count >= 10) count = 0;}

3.AjaxTimer.aspxページイベント設計tTimeコントロールは、そのTickイベントを定義します:tTime_Tick(object sender,EventArgs e).このイベントは1秒おきにトリガーされます.まずカウンタの値を1に増やし、AjaxTimerを表示します.aspxページ待ち時間.AjaxTimerの場合aspxページ待ち時間が0の場合、ページがリフレッシュされます.tTime_Tick(object sender,EventArgs e)イベントのプログラムコードは以下の通りである.
<%@ Page Language="C#" AutoEventWireup="true" StylesheetTheme="Aspnet3DBWeb"CodeFile="LinqProcedure.aspx.cs" Inherits="LinqProcedure" %>protected void tTime_Tick(object sender,EventArgs e){   ///     1count++;///       lbTime.Text = "     【 " + (10 - count).ToString() + " 】      。";if(count == 10){   ///    Response.Redirect("~/AjaxTimer.aspx");}}

AjaxTimerをaspxページをSample_に設定21アプリケーションの開始ページで、アプリケーションを実行します.AjaxTimer.aspxページは、ある時点で「このページは【5】秒後にリフレッシュされます」と表示されます.図21〜図7に示す情報.