摘自:http://www.cnblogs.com/remember515/archive/2007/06/28/799030.html

Ajax的核心组件包括ScriptManager、ScriptManagerProxy、UpdatePanel、Timer、UpdateProgress,其相关属性如下:
updatePanel控件 

UpdatePanel主要属性

UpdateMode

内容模板的更新模式,有Always和Conditional两种模式,默认情况下为Always

区别:Always即一旦有任何事件可触发updatePanel更新即开始更新内容模板,而Conditional则是有条件的更新,一般为设置了Trigger属性后由Trigger引发的更新

ChildrenAsTriggers

内容模板内的子控件的回发是否更新本模板,值为True或False

RenderMode

局部更新控件的呈现形式,当模式为Block时局部更新控件在客户端以div的形式展现,当模式为Inline时以span形式展现

UpdatePanel主要子元素

ContentTemplate

局部更新控件的内容模权,可以其内添加任何控件

Triggers

局部内容更新触发器,内似于数据库中的Trigger

触发器分为异步回发(AsyncPostBackTrigger)和类似于普通页面的回发机制(PostBackTrigger),前者实现局部更新,后者会引起整个页面的全部更新

Timers控件

属性Interval:控制需要等待的时间,默认单位为毫秒,即1000即为1秒

事件Tick:Timer唯一的独立事件,该事件用于设计要完成的任务

UpdateProgress控件

updateProgress实际上是一个div,通过代码控制div的显示或隐藏来实现更新提示,使用UpdateProgress可以设计良好的等待界面,达到与用户友好交互的目的。

主要属性和模板:

1、AssociateUpdatePanelID:关联的UpdatePanel,此时UpdateProgress需放置于UpdatePanel外;

2、DisplayAfter:表示多长时间后显示进度提示,默认值为500毫秒

3、ProgressTemplate:用于设计等待时的界面,可在其内加入图形、文字等

脚本控制器ScriptManager

5个主要属性及其4个子元素:

EnablePartialRendering

用于标识此页内是否允许局部刷新,默认值为True

AllowCustomErrorsRedirect

表示当Ajax调用发生错误后,是否导航到Web.Config中定义的错误配置,如果值为false,则使用AsyncPostBackErrorMessage和OnAsyncPostBackError两个属性实现错误提示

AsyncPostBackErrorMessage

异步调用发生错误时的提示信息

OnAsyncPostBackError

异步调用发生错误时的事件

AsyncPostBackTimeOut

表示异步调用的有效时间,默认值为90秒

AuthenticationService

用来表示提供验证服务的路径

ProfileService

表示提供个性化服务的路径

Scripts

对脚本的调用,其中可以嵌套多个ScriptReference模板以实现对多个脚本文件的调用

Service

对服务的调用,通常指Web Service服务,可以嵌套多个ServiceReference模板以实现多个服务的引用

至于ScriptManagerProxy,用法和ScriptManager差不多,值得一提的是一个页面只能有一个ScriptManager。而ScriptManagerProxy则是当母版页和内容页需要引用不同的服务或者脚本时,在内容页中用ScriptManagerProxy代理ScriptManager的职能。

实例:
下面给出一个无刷新实例,此例中加入了四个UpdatePanel

页面部局如下:

UodatePanel1代码如下:

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

<ContentTemplate>

updatePanel1<br />

<strong>Timer<br /></strong>

<asp:Label ID="Label1" runat="server" Text="Label1" ForeColor="Blue"></asp:Label>&nbsp;

<br />

<span style="font-size: 9pt">(拖放一个Timer到此,设其Interval为1000,即1秒刷新一次)</span>

</ContentTemplate>

<Triggers>

<asp:AsyncPostBackTrigger ControlID="Timer1" />

</Triggers>

</asp:UpdatePanel>

<asp:Timer ID="Timer1" runat="server" Interval="1000">

</asp:Timer>

UodatePanel2代码如下:

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

<ContentTemplate>

updatePanel2<br />

<strong>updateProgress</strong><br />

<asp:Label ID="Label2" runat="server" Text="Label2" ForeColor="Blue"></asp:Label>

<br />

<asp:Button ID="btnProgress" runat="server" Text="刷新updatePanel2,出现updateProgress内容" OnClick="btnProgress_Click" />

</ContentTemplate>

<Triggers>

<asp:AsyncPostBackTrigger ControlID="btnProgress" />

</Triggers>

</asp:UpdatePanel>

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel2">

<ProgressTemplate>

<span style="font-size: 10pt; color: #ff6633"><strong>

updatePanel2正在更新中...... </strong>

</span>

</ProgressTemplate>

</asp:UpdateProgress>

UodatePanel3代码如下:

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

<ContentTemplate>

updatePanel3<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-size: 9pt"><strong>

局部刷新(1)</strong></span><br />

<asp:Label ID="Label3" runat="server" Text="Label3" ForeColor="Blue"></asp:Label><br />

<asp:Button ID="Button1" runat="server" Text="刷新updatePanel3" />

</ContentTemplate>

<Triggers>

<asp:AsyncPostBackTrigger ControlID="Button2" />

</Triggers>

</asp:UpdatePanel>

UodatePanel4代码如下:

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

<ContentTemplate>

updatePanel4<br />

<span style="font-size: 9pt">

<strong>局部刷新(2)<br /></strong></span>

<asp:Label ID="Label4" runat="server" Text="Label4" ForeColor="Blue"></asp:Label>

<br />

<asp:Button ID="Button2" runat="server" Text="刷新updatePanel3和updatePanel4" />

</ContentTemplate>

<Triggers>

<asp:AsyncPostBackTrigger ControlID="Button2" />

</Triggers>

</asp:UpdatePanel>

Page_Load事件里面代码如下:

protected void Page_Load(object sender, EventArgs e)

{

this.Label1.Text = DateTime.Now.ToString();

this.Label2.Text = DateTime.Now.ToString();

this.Label3.Text = DateTime.Now.ToString();

this.Label4.Text = DateTime.Now.ToString();

}

UpdatePanel2中btnProgress的Click事件代码如下:

protected void btnProgress_Click(object sender, EventArgs e)

{

//如果刷新速度太快则不会看到updateProgress中的内容

//此时可以令程序延迟一段时间再执行

System.Threading.Thread.Sleep(5000);//5秒

Label2.Text = DateTime.Now.ToString();

}

页面最终效果图

示例程序下载

转载于:https://www.cnblogs.com/wj-wangjun/archive/2007/11/29/976689.html

Ajax Extensions核心控件介绍相关推荐

  1. AJAX Control Toolkit 控件学习(转自csdn山巅)

    AJAX Control Toolkit 控件学习 2006-1-16 ToggleButton 关联ASP.NET CheckBox控件 RoundedCorder 造就圆角框 PasswordSt ...

  2. 暑期实训 轻骑兵开发平台 前端控件介绍

    前端控件介绍 1. Layui 平台使用 Layui 作为主要的前端框架,它的特点是简单.高效.模块化,相 比于其他方案,Layui 的特殊之处也在于它的模块化.在 js 代码中,用到哪个模 块就引入 ...

  3. Ajax Toolkit日历控件CalendarExtender求教!

    Ajax Toolkit新控件CalendarExtender(日历控件) 在DIV中被下拉框遮挡了,如何能让其不被遮挡? 转载于:https://www.cnblogs.com/jerryleee1 ...

  4. 第十一篇: Ajax Control Toolkit 控件包--下载与安装

    Ajax Control Toolkit 控件包 可以是说 == 超炫动态效果 !! 1.下载: 下载地址:http://www.codeplex.com/AtlasControlToolkit/Re ...

  5. operamasks-ui2.0 +MVC4.0+EF5.0实战之一 开篇及布局控件介绍

    两年前,曾打算自己开发一个web开发框架,把部门.人员.权限.日志作为基本服务加入进去,在其基础上可以做业务快速开发,结果没有坚持下去,仅仅开了个头就夭折了.究其原因,一方面是采用自己完全不熟悉的新技 ...

  6. Flutter 系列文章:Flutter Icon 控件介绍

    Flutter Icon 控件介绍 一.使用方法 构造方法 Icon(this.icon, {Key key,this.size,this.color,this.semanticLabel,this. ...

  7. QT信号与槽-启动系统程序以及相关控件介绍

    1.1 创建一个继承至QWidget的项目. 1.2 设计界面,分析界面采用的布局方式. 首先,每行控件采用水平布局方式,第三行为了使控件靠右,前面添加一个占位控件. 三行采用垂直平局: 选中控件,通 ...

  8. ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类

    作者:Dflying Chen (http://dflying.cnblogs.com/) 本系列有三篇文章: ASP.NET Atlas简单控件介绍--Sys.Component基类与Sys.UI. ...

  9. DevExpress控件介绍

    DevExpress ExpressVerticalGrid Suite 3.12 for Delphi BCB (控件)介绍: 这是一款Delphi和C++ builder控件,inverted网格 ...

最新文章

  1. pytorch 笔记: 扩展torch.autograd
  2. 11.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。...
  3. java项目中.classpath,.settings,.project,mymetadata文件的作用
  4. http和https和ssl和tcp/ip之间的关系和区别
  5. 论文浅尝 | 面向跨语言实体对齐的知识图谱与实体描述协同嵌入方法
  6. python 渐变色柱形图_Python利用imshow制作自定义渐变填充柱状图(colorbar)
  7. UVALive 6909 Kevin's Problem 数学排列组合
  8. Winform 初识记录
  9. Asp.Net中的正则表达式问题可以在此提问,今后大家一起研究!贴出基本语法参考...
  10. android 广播 飞行模式,Android 开启飞行模式的几种方式
  11. SpringBoot以jar包部署需要注意的thymeleaf页面映射问题
  12. python 中self是怎样的一个参数_Python中self参数是什么?
  13. SQL数据库的连接、创建操作
  14. 微软 Windows 11 全套内置自带壁纸打包下载 - Win11 官方默认原生 4K 高清壁纸图片
  15. linux ubuntu软件中心,Ubuntu 20.04 将Ubuntu软件中心切换到Snap商店
  16. MATLAB生成M序列和Gold序列
  17. python期权定价公式_期权及 Black-Scholes模型的python实现
  18. 论文参考文献生成以及标注方法说明
  19. 用编程知识提高工作效率
  20. H.264中SPS、PPS和IDR

热门文章

  1. Angular路由——子路由
  2. 深度理解 Virtual DOM
  3. 树状数组成段更新模板
  4. Canvas制作排序算法演示动画
  5. css3 多列布局使用
  6. 4 int.parse方法调用问题和同行评审
  7. Shell应用:批量将文件编码由gbk转utf-8
  8. android intent传对象,startActivityForResult使用, setResult(RESULT_OK)使用,getArguments(),
  9. SpringBoot Redis分布式锁
  10. 易支付系统源码_刷脸支付系统源码,插件源码合作模式有哪些,采购源码需要注意什么...