asp.net ajax1.0基本レビュー(4):その他の組み込みサーバ側コントロール


asp.Netajaxに内蔵されているサーバー側コントロールは、ScriptManagerコントロールとUpdatePanelコントロールが最もよく使われているほか、次の3つがあります.
1.ScriptManagerProxyコントロール
ScriptManagerProxyコントロールにServicesReferenceとScriptReferenceを追加し、ネットで関連資料を探してみましたが、試してみましたが、特別なところは感じませんでした.
2.UpdateProgressコントロール
UpdateProgressコントロールは、UpdatePanelコントロールと組み合わせて使用できます.リクエストが少し長い場合は、ユーザー体験を向上させ、簡単に使用できます.まず、UpdatePanelIDUを指定し、プロンプトを待つ文字や画像をその中に入れます.具体的には、次のコードがあります.

  
  
  
  
  1. <asp:ScriptManager ID="ScriptManagerDemo" runat="server"></asp:ScriptManager> 
  2. <asp:UpdatePanel ID="UpdatePanelDemo" runat="server"></asp:UpdatePanel> 
  3. <asp:UpdateProgress ID="UpdateProgressDemo" runat="server" 
  4.             AssociatedUpdatePanelID="UpdatePanelDemo" DisplayAfter="100"> 
  5.       <ProgressTemplate> 
  6.           ... 
  7.       </ProgressTemplate> 
  8. </asp:UpdateProgress> 

要求時間が短すぎる場合は、表示遅延時間の設定が長すぎるため、DisplayAfterの値(デフォルトは500ミリ秒)を変更するだけで済みます.上図を参照してください.
3.Timerコントロール
名前の通り、主に制御時間として使用されます.Intervalの値を設定し、OnTickイベントをバインドするだけです.具体的には、次のようになります.
フロントエンドコード:

  
  
  
  
  1. <asp:ScriptManager ID="ScriptManagerDemo" runat="server"></asp:ScriptManager> 
  2. <asp:Label ID="lblMessage" runat="server"></asp:Label> 
  3. <asp:Timer ID="TimerDemo" runat="server" Interval="2000"  
  4. ontick="TimerDemo_Tick"></asp:Timer> 

サーバ側コード:

  
  
  
  
  1. protected void TimerDemo_Tick(object sender, EventArgs e) 
  2.     this.lblMessage.Text = String.Format(" :{0}",  
  3. DateTime.Now.ToLongTimeString()); 

以上のコードが完了した操作はページ全体のリフレッシュであり、UpdatePanelコントロールと組み合わせることで、OnTickイベントをUpdatePanelコントロールに登録することで、非同期リフレッシュを完了することができます.