ASP.NET AJAX中使用多个UpdateProgress控件


  本文标签:UpdateProgress控件 ASP.NET AJAX

  在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中  。以下两篇关于UpdateProgress的文章基本翻译自ASP.NET AJAX官方网站  。

  使用多个UpdateProgress控件

  默认情况下,UpdageProgress控件将显示页面上所有的UpdatePanel控件更新的进度信息,在以前版本的UpdateProgress中,我们无法设置UpdateProgress只显示某一个UpdatePanel的更新,最新版本的UpdateProgress控件提供了AssociatedUpdatePanelID属性,可以指定UpdateProgress控件显示哪一个UpdatePanel控件  。下面的这个例子中UpdateProgrss控件将只显示它所在的UpdatePanel更新信息  。

  1.创建一个Web页面并切换到设计视图  。

  2.在工具箱的AJAX Extensions标签下,双击ScriptManager控件添加到页面中  。

  3.双击UpdatePanel控件两次添加两个UpdatePanel控件到页面中  。

添加两个UpdatePanel控件到页面

  4.在每一个UpdatePanel中分别添加一个Label和Button  。

  5.分别设置两个Label的Text属性值为“Initial Page Rendered”  。(官方网站这步有些问题)

设置两个Label的Text属性值

  6.双击每一个Button控件添加Click事件  。

  7.在Buttond的Click事件处理中添加如下代码,这里人为的创建一个3秒钟的延迟并显示当前时间  。

  1. protectedvoidButton1_Click(objectsender,EventArgse)  
  2. {  
  3. //Introducingdelayfordemonstration.  
  4. System.Threading.Thread.Sleep(3000);  
  5. Label1.Text="Pagerefreshedat"+  
  6. DateTime.Now.ToString();  
  7. }  
  8. protectedvoidButton2_Click(objectsender,EventArgse)  
  9. {  
  10. //Introducingdelayfordemonstration.  
  11. System.Threading.Thread.Sleep(3000);  
  12. Label2.Text="Pagerefreshedat"+  
  13. DateTime.Now.ToString();  

  8.切换到设计视图  。

  9.在第一个UpdatePanel中添加UpdateProgrss控件,并添加文本Panel1 updating…

添加文本Panel1 updating

  10.在第二个UpdatePanel中添加UpdateProgress控件,Panel2 updating…

添加UpdateProgress控件

  11.保存并按Ctrl + F5运行

  12.单击第一个UpdatePanel中的Button按钮,进度信息只显示在第一个UpdatePanel中  。

显示在第一个UpdatePanel

  13.单击第二个UpdatePanel中的Button按钮,进度信息只显示在第二个UpdatePanel中  。

显示在第二个UpdatePanel

  以上介绍ASP.NET AJAX中使用多个UpdateProgress控件  。