Ajax Extensions核心控件介绍
摘自: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> <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 /> <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核心控件介绍相关推荐
- AJAX Control Toolkit 控件学习(转自csdn山巅)
AJAX Control Toolkit 控件学习 2006-1-16 ToggleButton 关联ASP.NET CheckBox控件 RoundedCorder 造就圆角框 PasswordSt ...
- 暑期实训 轻骑兵开发平台 前端控件介绍
前端控件介绍 1. Layui 平台使用 Layui 作为主要的前端框架,它的特点是简单.高效.模块化,相 比于其他方案,Layui 的特殊之处也在于它的模块化.在 js 代码中,用到哪个模 块就引入 ...
- Ajax Toolkit日历控件CalendarExtender求教!
Ajax Toolkit新控件CalendarExtender(日历控件) 在DIV中被下拉框遮挡了,如何能让其不被遮挡? 转载于:https://www.cnblogs.com/jerryleee1 ...
- 第十一篇: Ajax Control Toolkit 控件包--下载与安装
Ajax Control Toolkit 控件包 可以是说 == 超炫动态效果 !! 1.下载: 下载地址:http://www.codeplex.com/AtlasControlToolkit/Re ...
- operamasks-ui2.0 +MVC4.0+EF5.0实战之一 开篇及布局控件介绍
两年前,曾打算自己开发一个web开发框架,把部门.人员.权限.日志作为基本服务加入进去,在其基础上可以做业务快速开发,结果没有坚持下去,仅仅开了个头就夭折了.究其原因,一方面是采用自己完全不熟悉的新技 ...
- Flutter 系列文章:Flutter Icon 控件介绍
Flutter Icon 控件介绍 一.使用方法 构造方法 Icon(this.icon, {Key key,this.size,this.color,this.semanticLabel,this. ...
- QT信号与槽-启动系统程序以及相关控件介绍
1.1 创建一个继承至QWidget的项目. 1.2 设计界面,分析界面采用的布局方式. 首先,每行控件采用水平布局方式,第三行为了使控件靠右,前面添加一个占位控件. 三行采用垂直平局: 选中控件,通 ...
- ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
作者:Dflying Chen (http://dflying.cnblogs.com/) 本系列有三篇文章: ASP.NET Atlas简单控件介绍--Sys.Component基类与Sys.UI. ...
- DevExpress控件介绍
DevExpress ExpressVerticalGrid Suite 3.12 for Delphi BCB (控件)介绍: 这是一款Delphi和C++ builder控件,inverted网格 ...
最新文章
- pytorch 笔记: 扩展torch.autograd
- 11.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。...
- java项目中.classpath,.settings,.project,mymetadata文件的作用
- http和https和ssl和tcp/ip之间的关系和区别
- 论文浅尝 | 面向跨语言实体对齐的知识图谱与实体描述协同嵌入方法
- python 渐变色柱形图_Python利用imshow制作自定义渐变填充柱状图(colorbar)
- UVALive 6909 Kevin's Problem 数学排列组合
- Winform 初识记录
- Asp.Net中的正则表达式问题可以在此提问,今后大家一起研究!贴出基本语法参考...
- android 广播 飞行模式,Android 开启飞行模式的几种方式
- SpringBoot以jar包部署需要注意的thymeleaf页面映射问题
- python 中self是怎样的一个参数_Python中self参数是什么?
- SQL数据库的连接、创建操作
- 微软 Windows 11 全套内置自带壁纸打包下载 - Win11 官方默认原生 4K 高清壁纸图片
- linux ubuntu软件中心,Ubuntu 20.04 将Ubuntu软件中心切换到Snap商店
- MATLAB生成M序列和Gold序列
- python期权定价公式_期权及 Black-Scholes模型的python实现
- 论文参考文献生成以及标注方法说明
- 用编程知识提高工作效率
- H.264中SPS、PPS和IDR
热门文章
- Angular路由——子路由
- 深度理解 Virtual DOM
- 树状数组成段更新模板
- Canvas制作排序算法演示动画
- css3 多列布局使用
- 4 int.parse方法调用问题和同行评审
- Shell应用:批量将文件编码由gbk转utf-8
- android intent传对象,startActivityForResult使用, setResult(RESULT_OK)使用,getArguments(),
- SpringBoot Redis分布式锁
- 易支付系统源码_刷脸支付系统源码,插件源码合作模式有哪些,采购源码需要注意什么...