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属性值,代码如下。

public partial class _Default : System.Web.UI.Page

{

    
protected void Page_Load(object sender, EventArgs e)

    
{

    }


    
protected void Timer1_Tick(object sender, EventArgs e)

    
{

        Label1.Text 
= "UpdatePanel1 refreshed at: " +

          DateTime.Now.ToLongTimeString();

        Label2.Text 
= "UpdatePanel2 refreshed at: " +

          DateTime.Now.ToLongTimeString();

    }


}

12.在UpdatePanel1UpdatePanel2中添加Timer控件作为AsyncPostBackTrigger,代码如下:

<Triggers>

  
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />

</Triggers>

全部完成后ASPX页面代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    
<title>Untitled Page</title>

</head>

<body>

    
<form id="form1" runat="server">

        
<asp:ScriptManager ID="ScriptManager1" runat="server" />

        
<div>

            
<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="10000">

            
</asp:Timer>

        
</div>

        
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">

            
<Triggers>

                
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />

            
</Triggers>

            
<ContentTemplate>

                
<asp:Label ID="Label1" runat="server" Text="UpdatePanel1 not refreshed yet."></asp:Label>

            
</ContentTemplate>

        
</asp:UpdatePanel>

        
<asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">

            
<Triggers>

                
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />

            
</Triggers>

            
<ContentTemplate>

                
<asp:Label ID="Label2" runat="server" Text="UpdatePanel2 not refreshed yet."></asp:Label>

            
</ContentTemplate>

        
</asp:UpdatePanel>

 

    
</form>

</body>

</html>


13.保存并按Ctrl + F5运行。

14.等待10秒钟后两个UpdatePanel都刷新后,Label中的文本都变成了当前时间。

 

[翻译自官方文档]
作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-11-15 21:43 TerryLee 阅读(11655) 评论(62)  编辑 收藏 网摘 所属分类: [08]  Web开发[07]  AJAX风云

  回复  引用    
#1楼2006-11-16 21:27 | hm[未注册用户]
看了着么多李大哥写的文章,终于坐到沙发了,呵呵
  回复  引用  查看    
#2楼2006-11-17 05:39 | baiwei1977      
有一个关于CascadingDropDown问题。请教一下。
现在我们处理的三级联动,都是一组数据。如果有多组三级联动的数据。

在WEB服务中一般是这样的。

public CascadingDropDownNameValue[] Get1(string knownCategoryValues, string category)

public CascadingDropDownNameValue[] Get2(string knownCategoryValues, string category)

public CascadingDropDownNameValue[] Get3(string knownCategoryValues, string category)

我怎样将一个page.asp?id=1。的参数传到Get1中呢?

现在使用的是asp.net ajax beta2。谢谢。小飞

  回复  引用  查看    
#3楼[楼主]2006-11-18 18:05 | TerryLee      
@hm
:)

  回复  引用  查看    
#4楼[楼主]2006-11-18 18:06 | TerryLee      
@baiwei1977
现在的ASP.NET AJAX ControlToolkit还不能实现吧,我也不太清楚

  回复  引用    
#5楼2006-11-19 12:22 | efly[未注册用户]
老赵~~
小弟 有个问题 不知道如何解决~
就是在模版页面 和 子页面 间 使用uodatepanle 的时候,不知道如何使用~
也就是子页面的dropdownlist 选择项事件触发的时候~我想让 masterpage中的 一块 局部 更新。我自己怎么式也不行,在 masterpage 中 拖入一个 updatepanel 吧 里面的 triigers 条件是找不到 子页面的 控件ID的·

我不知道这能不能实现,问下老赵 可有解决方法么?

  回复  引用    
#6楼2006-11-20 21:17 | xpengfee[匿名][未注册用户]
初学者,受益匪浅,谢谢了!!!
  回复  引用  查看    
#7楼2006-11-22 10:07 | WXWinter(冬)      
收刮,收刮,收刮,收刮,收刮,收刮,收刮,收刮

收刮了好多,好文章,本想偷偷跑掉,最后还是决定打个招呼(^_^)

佩服你的技术,更佩服你的文风

  回复  引用  查看    
#8楼[楼主]2006-11-23 20:59 | TerryLee      
@WXWinter(冬)
呵呵,过奖:)

  回复  引用  查看    
#9楼2006-12-20 16:55 | Anthan      
Terry 大哥还会继续吗?
  回复  引用  查看    
#10楼[楼主]2006-12-23 16:35 | TerryLee      
@Anthan
看时间吧,呵呵:)

  回复  引用    
#11楼2006-12-25 15:19 | wuyun[未注册用户]
希望Lee大哥,介绍一下这些Ajax控件的原理和机制。
  回复  引用  查看    
#12楼[楼主]2006-12-25 21:20 | TerryLee      
@wuyun
现在没时间啊

  回复  引用  查看    
#13楼2006-12-31 10:03 | 舞步者      
收益非浅!
  回复  引用  查看    
#14楼2007-01-17 21:30 | 孤叶(学习.net框架)      
发了一天的时间,把你的blogs的关于asp.net ajax的东东都看完拉.
VERY GOOD!!!
QQ群:18788422大家一起讨论asp.net ajax吧

  回复  引用  查看    
#15楼[楼主]2007-01-17 23:12 | TerryLee      
@孤叶(学习.net框架)
:)

// 不用QQ已经多年了:)

  回复  引用    
#16楼2007-01-22 17:18 | Henry[未注册用户]
两个月没新的了:(
  回复  引用  查看    
#17楼[楼主]2007-01-23 22:52 | TerryLee      
@Henry
太忙了

要学习的东西也太多了:)

  回复  引用    
#18楼2007-03-08 13:48 | MiKey[未注册用户]
好东西呀!!!

  回复  引用    
#19楼2007-03-12 11:09 | yuki[未注册用户]
希望能继续更新
  回复  引用  查看    
#20楼2007-06-01 09:38 | yinix      
这些好文章我已经收藏啦,谢谢哦。以后还会经常来的。
  回复  引用    
#21楼2007-06-18 11:16 | Lee Vane[未注册用户]
这个到是很简单啊,我一看就懂了
  回复  引用  查看    
#22楼2007-08-16 16:52 | 菜鸟吴迪      
哎,郁闷啊,我要是一年前就跟着李老大混,早发现这个,估计技术肯定比现在NB很多啊,现在真是菜啊!:(
已经完结了吗?还有点意犹未尽啊
谢谢TerryLee

  回复  引用    
#25楼2007-08-31 12:03 | Richard sun[未注册用户]
看了Lee很多文章了。。从来没有回复过。。
太不厚道了。。
From now on , i will reply every time!
thank all.

  回复  引用    
#26楼2007-12-13 10:24 | whisdn[未注册用户]
请问:
当Web服务器停止了,此时IE会弹出出错框,如何屏蔽此出错框呢???

  回复  引用  查看    
#27楼[楼主]2007-12-13 12:42 | TerryLee      
@whisdn
可以通过ScriptManager中的错误处理,进行自定义的

  回复  引用    
#28楼2008-01-17 21:23 | 玉鱼[未注册用户]
双击UpdatePanel控件添加一个Panel到页面中,并设置它的UpdateMode属性值为Conditional,我的两个panel的updateMode的属性值都设置为Always,也可以啊,这个属性里的两个属性值有什么区别吗,可以讲讲吗,我从页面上看不出区别,还望知道的讲讲,谢谢!
  回复  引用    
#29楼2008-01-22 17:27 | blackbird[未注册用户]
有一个问题就是,我用updatepanel和timer计时,时间到后,在后台执行一段代码,最后整个页面跳转到另外一个页面,这个应该怎么实现阿。其他都可以了就是跳转到另外一个页面不可以。

  回复  引用    
#30楼2008-04-09 13:25 | 黄彩荣[未注册用户]
Lee老师,我看完了您的ajax真的很好.很适合我们初学者..谢谢
  回复  引用    
#31楼2008-05-12 10:15 | letianyuweng[未注册用户]
非常好的入门教程,感谢作者的奉献
  回复  引用    
#32楼2008-06-01 11:02 | 李军辉[未注册用户]
最近没事研究了一下ajax。
无意中找到了你的网站,我们名字很像,呵呵。
看了一下都两年多了的文章了,不是因为看到你的文章老,是说我觉得自己太落后了,ajax都过了这么多年了,我现在才学习。

  回复  引用  查看    
#33楼2008-06-11 19:00 | zagelover      
支持,终于把文章看完了,就是没有继续更新,挺可惜的...
  回复  引用    
#34楼2008-07-25 11:53 | recoba[未注册用户]
一个字 挺好!
  回复  引用  查看    
#35楼[楼主]2008-07-27 21:26 | TerryLee      
@recoba
好像是两个字:)

  回复  引用  查看    
#36楼2008-08-29 13:42 | 长空      
看完了,谢谢:)
  回复  引用    
#37楼2008-10-04 22:28 | bywind[未注册用户]
做了一遍练习,作为我踏入ajax的入门功能。
thanks

  回复  引用  查看    
#38楼[楼主]2008-10-08 11:35 | TerryLee      
@bywind
:)

  回复  引用  查看    
#39楼2008-10-15 15:41 | chenmin      
嗯,太好了!~这两天把您的ajax入门给看完了
也出现过这样那样的问题,但都通过您门的留言都解决了!~
真是前人栽树后人乘凉啊!
谢谢lz,以及留言者的大哥们!~
想问一下,那里还有关于ajax稍深一点的例子或教程 啊?

  回复  引用    
#40楼2008-11-28 14:40 | xiaoban[未注册用户]
教程看完了,写的不错.谢谢!
  回复  引用  查看    
#41楼[楼主]2008-11-30 23:54 | TerryLee      
@xiaoban
:)

  回复  引用    
#42楼2008-12-08 17:11 | Cp~~[未注册用户]
up! 3Q
  回复  引用  查看    
#43楼[楼主]2008-12-15 10:04 | TerryLee      
@Cp~~
:)

  回复  引用  查看    
#44楼2008-12-15 17:47 | Freedom~Jun      
虽然迟到了两年来学习这个,但是我想现在还不是很晚吧,呵呵。
前两个月用过,但是没有深究,现在大致了解了下,让我知道了一些
具体的操作,和用法。谢谢:-)

我想问一下,如果没有微软提供的这个AJAX组件的话,怎么达到这些效果呢?

  回复  引用  查看    
#45楼[楼主]2008-12-16 09:56 | TerryLee      
@Freedom~Jun
好多AJAX框架都会提供相关的功能,就算是直接使用JavaScript来写,也是可以实现的。

  回复  引用  查看    
#46楼2008-12-30 18:07 | boulder      
终于对ajax有个基本的了解了。现在项目中经常用XMLHttpRequest 效果也不错的
  回复  引用  查看    
#47楼[楼主]2009-01-04 11:21 | TerryLee      
@boulder
:)

  回复  引用    
#48楼2009-03-14 21:04 | javac[未注册用户]
老大 .怎么没有后文了?
  回复  引用    
#49楼2009-03-20 20:46 | yishoulong[未注册用户]
非常感谢,辛苦了
  回复  引用    
#50楼2009-05-09 10:23 | 来了了[未注册用户]
怎么样在现有的页面上(即普通的ASP.NET网站)使用AJAX技术?
  回复  引用    
#51楼2009-05-14 01:35 | 菜鸟1111[未注册用户]
为何我用timer控件但是没起效果啊???




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 561690




相关文章:

相关链接: