博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件
阅读量:6292 次
发布时间:2019-06-22

本文共 2646 字,大约阅读时间需要 8 分钟。

本文将使用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
 ,如需转载请自行联系原作者
你可能感兴趣的文章
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>
动态下拉菜单,非hover
查看>>
政府安全资讯精选 2017年第十六期 工信部发布关于规范互联网信息服务使用域名的通知;俄罗斯拟建立备用DNS;Google打击安卓应用在未经同意情况下收集个人信...
查看>>
简单易懂的谈谈 javascript 中的继承
查看>>
iOS汇编基础(四)指针和macho文件
查看>>
Laravel 技巧锦集
查看>>
Android 使用 ViewPager+RecyclerView+SmartRefreshLayout 实现顶部图片下拉视差效果
查看>>
Flutter之基础Widget
查看>>
写给0-3岁产品经理的12封信(第08篇)——产品运营能力
查看>>
ArcGIS Engine 符号自动化配置工具实现
查看>>
小程序 · 跳转带参数写法,兼容url的出错
查看>>
flutter error
查看>>