TOPシステム開発> UpdateProgressを使ってみる
ASP.NET+Ajax
試せばわかる!Ajax開発環境ASP.NET AJAX

第4回:ASP.NET AJAXを実際に使用する手順

著者:日立ソフトウェアエンジニアリング  宮崎 昭世   2007/4/20
前のページ  1  2  3   4  次のページ
UpdateProgressを使ってみる

   次にUpdateProgressコントロールを貼り付けてみましょう。

   前回作成したサンプルではUpdateProgressコントロールを貼り付けて、UpdateProgressコントロール内に「処理中・・・」といった内容を記述することによりボタンクリック時に、「処理中・・・」と表示されました。ただし、このまま使うと住所仮定ボタンクリック時にも「処理中・・・」と表示されてしまいます。

   登録ボタンクリック時のみに「処理中・・・」と表示するためには下記のように設定します。

   登録ボタンのカラムにUpdatePanelコントロールとUpdateProgressコントロールを貼り付けます。UpdatePanelコントロール内に登録ボタンとキャンセルボタンを移動し、Labelコントロールを貼り付け、UpdateProgressコントロール内には「処理中・・・」 といった文字列を入力します。配置後のデザイン画面は図8のようになります。
UpdateProgressコントロールの利用方法
図8:UpdateProgressコントロールの利用方法

   また、それぞれのコントロールのプロパティを表2のように設定します。

コントロール プロパティ
Label1 Text “”(空白)
UpdateProgress AssociatedUpdatePanelID UpdatePanel2

表2:プロパティ設定表

   また、登録ボタンのイベントハンドラに下記のコードを追加してください。

登録ボタンのイベントハンドラのコード
protected void Button2_Click(object sender, EventArgs e)
{
   System.Threading.Thread.Sleep(3000); //登録処理に時間がかかる事をシュミレートする
   Label1.Text = "登録しました";
}

   このように、AssociatedUpdatePanelIDプロパティを設定することにより、必要なときのみ「処理中・・・」といった内容を表示することができます。


UpdateProgressのプロパティについて

   このほかにもプロパティがあるので簡単にまとめておきます。

プロパティ 概要
AssociatedUpdatePanelID UpdateProgressコントロールの表示を行わせる処理を行うUpdatePanelコントロールを指定します
DisplayAfter 表示するまでの時間を指定します。ボタンを押してしばらくしてから表示することができます
DynamicLayout UpdateProgressコントロールの表示領域を固定的に確保しておくかを設定します

表3:UpdateProgressコントロールのプロパティ


Timerコントロールについて

   ASP.NET 2.0 AJAX Extensions 1.0にはTimerコントロールがあります。Timerコントロールは定期的にPostBack動作を行うコントロールです。

   新しいページを追加し、図9のようなページを作成してみると、画面のリフレッシュなしに時刻の表示が切り替わっていることがわかります。

タイマーコントロール
図9:タイマーコントロール

コントロール プロパティ
Timer1 Interval 1000

表4:プロパティ設定表

タイマーコントロールのサンプルコード
protected void Page_Load(object sender, EventArgs e)
{
   Label1.Text = System.DateTime.Now.ToString();
}

   ただし、Timerコントロールの使用には注意が必要です。開発環境で動作させると、自然に動作しているように見えますが、今回の設定では1秒ごとにサーバへのリクエストを送っているため、サーバやネットワークに対して負荷をかけてしまいます。このため、使用する場合には注意が必要です。Timerコントロールのプロパティについても表5にまとめておきます。

プロパティ 概要
Enabled PostBack動作を行うかどうかを設定します
Interval PostBackを行う間隔を設定します

表5:Timerコントロールのプロパティ

前のページ  1  2  3   4  次のページ


日立ソフトウェアエンジニアリング株式会社 宮崎 昭世
著者プロフィール
日立ソフトウェアエンジニアリング株式会社  宮崎 昭世
仕事ではWindows環境におけるアプリケーション開発の標準化・技術教育などを担当する。Webアプリケーション開発では、個人で作成したC言語のCGIプログラムからはじまり、Perl、ASP、Javaなどを経て現在はASP.NETを主に利用している。

Microsoft MVP for Visual Developer - ASP/ASP.NET
https://mvp.support.microsoft.com/
profile=6C540032-3FD0-43B0-98EF-3690158D4EE6

kogumaブログ
http://koguma.cocolog-nifty.com/koguma/



INDEX
第4回:ASP.NET AJAXを実際に使用する手順
  ASP.NET AJAXでUpdatePanelが使えないケース
  UpdatePanelを使ってみる
UpdateProgressを使ってみる
  ScriptManagerとScriptManagerProxyについて