Ajax Extensions核心控件介绍

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

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

UpdatePanel主要属性

UpdateMode

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

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

ChildrenAsTriggers

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

RenderMode

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

UpdatePanel主要子元素

ContentTemplate

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

Triggers

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

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

Timers控件

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

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

UpdateProgress控件

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

主要属性和模板:

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

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

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

脚本控制器ScriptManager

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

EnablePartialRendering

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

AllowCustomErrorsRedirect

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】五、VTK读取图片,然后QT显示

一、前言 今天实现的主要功能是通过vtk读取jpg图片(只能够读取.jpg文件)&#xff0c;然后通过QT显示出来,整个程序的框架是QT GUIApplication 版本&#xff1a; VS2019VTK8.2.0QT5.13.1版本配置 VS 为release x64&#xff08;这个是工程建立的时候设置的解决方案属性&#xff…

用java查询excel表格_如何把java查询出的内容导入到excel表格

展开全部java查询出的内容导入到excel表格/**导出数据为XLS格式* param fos* param bo*/public void writeExcelBo(FileOutputStream fos, java.util.Vector ve){jxl.write.WritableWorkbook wwb;try{wwb Workbook.createWorkbook(fos);jxl.write.WritableSheet ws wwb.createS…

【转】C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁

转自&#xff1a;https://www.cnblogs.com/marvin/p/PutDllToSpecificFolder.html?utm_sourcetuicool&utm_mediumreferral 系列文章 C#开发奇技淫巧一&#xff1a;调试windows系统服务C#开发奇技淫巧二&#xff1a;根据dll文件加载C或者Delphi插件C#开发奇技淫巧三&#…

【转】C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件

这两天忙着把框架改为支持加载C和Delphi的插件&#xff0c;来不及更新blog了。 原来的写的框架只支持c#插件&#xff0c;这个好做&#xff0c;直接用c#的反射功能便可。但是公司不是所有人都搞C#&#xff0c;也不是所有的程序C#都能很好的完成&#xff0c;又或者其他公司…

【转】一篇易懂的CAN通讯协议指南1

转自&#xff1a;https://zhuanlan.zhihu.com/p/162708070 本文力求以图文并茂来接好CAN通讯协议的基础知识&#xff0c;希望能给有兴趣的朋友带来一些收获。 为了便于大家理解与接受&#xff0c;请先看一幅图&#xff1a; 图1 电话会议 简单地讲CAN总线就如上图1中两根粗黄线…

【转】CAN协议深度解析-简单易懂协议详解

转自&#xff1a;https://zhuanlan.zhihu.com/p/343607068 CAN接口兼容规范2.0A和2.0B(主动)&#xff0c;位速率高达1兆位/秒。它可以接收和发送11位标识符的标准帧&#xff0c;也可以接收和发送29位标识符的扩展帧。 扩展帧的仲裁域有29位&#xff0c;可以出现2^29中报文&…

深度神经网络下的风格迁移模型(C#)

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 这个是C#版本的&#xff0c;这里就只放出代码。VB.Net版本请参看 深度神经网络下的风格迁移模型-CSDN博客 斯坦福大学李飞飞团队的…

使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码...

PS&#xff1a;微软专家写的一往篇VSTS2005测试功能说明&#xff0c;非常详细。适合初学者查看。适用于&#xff1a;Microsoft Visual Studio 2005 Team System Beta 2Team Architect & Team Test EditionsMicrosoft Visual C# 2005摘要&#xff1a; Scott 详细介绍自动化单…

【转】C++ win32窗口创建详解

转自&#xff1a;https://my.oschina.net/u/4328928/blog/3315324 本篇所讲解的内容仅限于 Windows 操作系统且限于 win32程序设计 现在我们在Windows系统上用的软件, 早已不是控制台界面, 而是窗体应用程序 窗体与控制台的区别就是: 有了窗口的概念 由于C的语法复杂, 使得…

2.3 Factory Method(工厂方法)

【返回目录】 我们现在把场景从险象丛生的特工战切换到更为壮观的二战中来&#xff0c;很多人都看过《拯救大兵瑞恩》&#xff0c;这部电影最著名的两场战斗非首和尾莫属&#xff0c;我们就用最后一场战役来举例说明什么是工厂方法吧。 相比诺曼底登陆&#xff0c;最后一场战役…

[转] UML中关联、依赖、聚集等关系的异同

1. 关联&#xff1a;连接模型元素及链接实例&#xff0c;用一条实线来表示&#xff1b;2. 依赖&#xff1a;表示一个元素以某种方式依赖于另一个元素&#xff0c;用一条虚线加箭头来表示&#xff1b;3. 聚集&#xff1a;表示整体与部分的关系&#xff0c;用一条实线加空心菱…

不同职业的面试着装技巧。

美女姜培琳&#xff1a;传授独家心经 不同职业的面试着装技巧。 一般来说&#xff0c;职场中精英女性的装扮&#xff0c;首要应讲求端庄、稳重。人们对服饰过于花哨怪异者的工作能力、工作作风、敬业精神、生活态度等&#xff0c;都会持怀疑的态度。 其实&#x…

【转】C++中的字符串(String)和数值转换

『写在前边』 因为写PAT总是遇到字符串&#xff08;主要是String&#xff09;和数值之间的转化&#xff0c;所以整理一下以便好复习。 『String类型的字符串』 这里数值和字符串相互转换的例子&#xff0c;使用的是stringstream函数&#xff0c;在c11当中有定义好的现成的函数…

好开心

好开心&#xff01;收到我们家lily的礼物&#xff01; 前天&#xff0c;lily传给我一个flash相册&#xff0c;他将我们认识以来的合照做成了flash&#xff0c;配上了音乐。看了好感动&#xff0c;好开心&#xff01; 其实照片倒不是很多&#xff0c;也就7到8张吧&#xff0c;但…

谈谈基于SQL Server 的Exception Handlingp[下篇]

六、SqlException 在上面一节中&#xff0c;我给出了一个完整的例子说明了&#xff1a;如何在将message定义在sys.messages中保证message的一致性和可维护性&#xff1b;如何在Stored procedure中使用RAISERROR将一个可预知的Error抛出&#xff1b;如何在Stored procedure中使用…

【转】修改static控件背景颜色和文字颜色

当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时&#xff0c;会向父窗口发送 WM_CTLCOLORSTATIC 消息。如果我们在窗口过程中处理该消息&#xff0c;就必须返回一个画刷句柄&#xff0c;Windows 会使用该画刷来绘制控件背景&#xff08;子窗口背景&#xff09;。 也…

java中随机数彩票练习_基于javascript实现彩票随机数生成(简单版)

本文实例讲解了JavaScript 实现彩票中随机数组的获取详细代码&#xff0c;分享给大家供大家参考&#xff0c;具体内容如下效果图&#xff1a;具体代码&#xff1a;Math.random方法彩票随机数的生成开始获取随机数组//获取节点var btnGo document.getElementById("btnGo&q…

【转】Windows编程之滚动条—滚动条消息

在用鼠标单击滚动条或者拖动卷动方块时&#xff0c;Windows给窗口消息处理程序发送WM_VSCROLL&#xff08;供上下移动&#xff09;和WM_HSCROLL&#xff08;供左右移动&#xff09;消息。在滚动条上的每个鼠标动作都至少产生两个消息&#xff0c;一条在按下鼠标按钮时产生&…

juc是什么java_JUC简介

JUC是什么JUC是 在Java 5.0添加的 java.util.concurrent包的简称&#xff0c;目的就是为了更好的支持高并发任务&#xff0c;让开发者利用这个包进行的多线程编程时可以有效的减少竞争条件和死锁线程。JUC的结构1&#xff0c;tools(工具类)&#xff1a;又叫信号量三组工具类&am…

WinAPI: SetTextColor - 设置设备环境的文本颜色

//声明: SetTextColor(DC: HDC; {设备环境句柄}Color: COLORREF {颜色值} ): COLORREF; {返回指定的颜色值; 如果返回值是 CLR_INVALID 表示设置失败}//举例: procedure TForm1.Button1Click(Sender: TObject); beginSetTextColor(Canvas.Handle, clRed);Canvas.Te…