それでは、先ほど作成した画面に登録ボタンを追加します。
通常のWebページではWebブラウザの右上のアイコン(Internet Explorer 7ではタブの隣のアイコン)の動作を確認することで、登録処理中であることを判断するしか方法がなく、わかりづらいものでした。
これを、登録ボタンの近くに処理中の表示を行うことによってわかりやすくしてみましょう。
まずは、もう1つ「UpdatePanel」コントロールを貼り付けます。この「UpdatePanel」コントロールの中に「Button」コントロールと「Label」コントロールを貼り付けてください。
その下に「UpdateProgress」コントロールを貼り付けます。「UpdateProgress」コントロールの中には「処理中…」と入力します。各コントロールのプロパティは表3の通り設定します。
コントロール |
プロパティ |
値 |
Button2 |
Text |
登録 |
Label1 |
Text |
(空白) |
表3:プロパティ設定表
コントロールを貼り付けた後のイメージは図9のようになります。
図9:登録ボタン追加後のページデザイン (画像をクリックすると別ウィンドウに拡大図を表示します)
次に、「登録」ボタンのイベントハンドラを下記のように実装します。
登録ボタンクリック時処理
protected void Button2_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(3000);
Label1.Text = "登録完了";
}
ボタンクリック時は時間がかかる処理を行っている状態を仮想的に作り出すために、Sleepメソッドを呼び出しています。実行して登録ボタンをクリックすると、「処理中…」の文字が表示され、処理が終了次第(今回のサンプルでは、Sleepが終了次第)登録完了の表示がされます。
図10:登録ボタンクリック後、処理中の画面(再掲) (画像をクリックすると別ウィンドウに拡大図を表示します)
図11:登録ボタンクリック後、処理完了時の画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
|