ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件

简介:


本文将使用Timer控件更新两个UpdatePanel控件,Timer控件将放在UpdatePanel控件的外面,并将它配置为UpdatePanel的触发器,翻译自官方文档。

 
主要内容
     在多个UpdatePanel中使用Timer控件
 
1 .添加一个新页面并切换到设计视图。
2 .如果页面没有包含ScriptManager控件,在工具箱中的AJAX Extensions标签下双击ScriptManager控件添加到页面中。
3 .双击Timer控件添加到Web页面中。Timer控件可以作为UpdatePanel的触发器不管它是否在UpdatePanel中。
4 .双击UpdatePanel控件添加一个Panel到页面中,并设置它的UpdateMode属性值为Conditional
5 .再次双击UpdatePanel控件添加第二个Panel到页面中,并设置它的UpdateMode属性值为Conditional
6 .在UpdatePanel1中单击,并在工具箱中Standard标签下双击Label控件添加到UpdatePanel1中。
7 .设置Label控件的Text属性值为“UpdatePanel1 not refreshed yet”。
8 .添加Label控件到UpdatePanel2
9 .设置第二个Label控件的Text属性值为“UpdatePanel2 not refreshed yet”。

10
.设置Interval属性为10000Interval属性的单位是毫秒,所以我们设置为10000,相当于10秒钟刷新一次。
11 .双击Timer控件添加Tick事件处理,在事件处理中设置Label1Label2Text属性值,代码如下。
None.gif public  partial  class  _Default : System.Web.UI.Page
None.gif
ExpandedBlockStart.gif
{
InBlock.gif
InBlock.gif    
protected void Page_Load(object sender, EventArgs e)
InBlock.gif
ExpandedSubBlockStart.gif    
{
InBlock.gif
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    
protected void Timer1_Tick(object sender, EventArgs e)
InBlock.gif
ExpandedSubBlockStart.gif    
{
InBlock.gif
InBlock.gif        Label1.Text 
= "UpdatePanel1 refreshed at: " +
InBlock.gif
InBlock.gif          DateTime.Now.ToLongTimeString();
InBlock.gif
InBlock.gif        Label2.Text 
= "UpdatePanel2 refreshed at: " +
InBlock.gif
InBlock.gif          DateTime.Now.ToLongTimeString();
InBlock.gif
ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedBlockEnd.gif}
12 .在UpdatePanel1UpdatePanel2中添加Timer控件作为AsyncPostBackTrigger,代码如下:
None.gif < Triggers >
None.gif
None.gif  
< asp:AsyncPostBackTrigger  ControlID ="Timer1"  EventName ="Tick"   />
None.gif
None.gif
</ Triggers >
全部完成后 ASPX页面代码如下:
ExpandedBlockStart.gif <% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"  %>
None.gif
None.gif 
None.gif
None.gif
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
None.gif
None.gif
< html  xmlns ="http://www.w3.org/1999/xhtml" >
None.gif
None.gif
< head  id ="Head1"  runat ="server" >
None.gif
None.gif    
< title > Untitled Page </ title >
None.gif
None.gif
</ head >
None.gif
None.gif
< body >
None.gif
None.gif    
< form  id ="form1"  runat ="server" >
None.gif
None.gif        
< asp:ScriptManager  ID ="ScriptManager1"  runat ="server"   />
None.gif
None.gif        
< div >
None.gif
None.gif            
< asp:Timer  ID ="Timer1"  OnTick ="Timer1_Tick"  runat ="server"  Interval ="10000" >
None.gif
None.gif            
</ asp:Timer >
None.gif
None.gif        
</ div >
None.gif
None.gif        
< asp:UpdatePanel  ID ="UpdatePanel1"  UpdateMode ="Conditional"  runat ="server" >
None.gif
None.gif            
< Triggers >
None.gif
None.gif                
< asp:AsyncPostBackTrigger  ControlID ="Timer1"  EventName ="Tick"   />
None.gif
None.gif            
</ Triggers >
None.gif
None.gif            
< ContentTemplate >
None.gif
None.gif                
< asp:Label  ID ="Label1"  runat ="server"  Text ="UpdatePanel1 not refreshed yet." ></ asp:Label >
None.gif
None.gif            
</ ContentTemplate >
None.gif
None.gif        
</ asp:UpdatePanel >
None.gif
None.gif        
< asp:UpdatePanel  ID ="UpdatePanel2"  UpdateMode ="Conditional"  runat ="server" >
None.gif
None.gif            
< Triggers >
None.gif
None.gif                
< asp:AsyncPostBackTrigger  ControlID ="Timer1"  EventName ="Tick"   />
None.gif
None.gif            
</ Triggers >
None.gif
None.gif            
< ContentTemplate >
None.gif
None.gif                
< asp:Label  ID ="Label2"  runat ="server"  Text ="UpdatePanel2 not refreshed yet." ></ asp:Label >
None.gif
None.gif            
</ ContentTemplate >
None.gif
None.gif        
</ asp:UpdatePanel >
None.gif
None.gif 
None.gif
None.gif    
</ form >
None.gif
None.gif
</ body >
None.gif
None.gif
</ html >

13 .保存并按Ctrl + F5运行。
14 .等待10秒钟后两个UpdatePanel都刷新后,Label中的文本都变成了当前时间。
 














本文转自lihuijun51CTO博客,原文链接: http://blog.51cto.com/terrylee/67721  ,如需转载请自行联系原作者
相关文章
|
3月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
|
29天前
|
开发框架 .NET 物联网
.NET从入门到精通,零基础也能搞定的基础知识教程
.NET从入门到精通,零基础也能搞定的基础知识教程
20 0
|
2月前
|
开发框架 .NET 程序员
C#/.NET该如何自学入门?
C#/.NET该如何自学入门?
|
2月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
34 0
|
3月前
|
SQL 开发框架 JavaScript
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
29 0
|
4月前
|
JavaScript C#
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】2.wincc使用C#开发的.net控件
41 0
|
4月前
|
JavaScript Linux C#
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
65 0
|
4月前
|
XML API 数据库
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
|
4月前
|
开发框架 .NET 数据安全/隐私保护
Asp.Net第二章服务器端控件
Asp.Net第二章服务器端控件
27 0
|
4月前
|
存储 开发框架 .NET
Asp.Net第一章入门之后台处理程序
Asp.Net第一章入门之后台处理程序
30 0