版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web应用程序开发教程——ASP.NET+SQLServer
授课教师:职务:第7章ASP.NETAJAX服务器端编程课程描述AJAX全称为AsynchronousJavaScriptandXML(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。ASP.NETAJAX是免费的MicrosoftAJAX框架,用于构建交互式的Web应用程序,它可以支持各种流行的浏览器。本章将介绍如何使用ASP.NETAJAX开发Web应用程序。本章知识点ASP.NETAJAX基础使用ScriptManager控件使用UpdatePanel控件实现网页局部刷新使用UpdateProgress控件使用Timer控件7.1ASP.NETAJAX基础Ajax的基本概念和特点下载和安装ASP.NETAJAX7.1.1Ajax的基本概念和特点Ajax并不是一种技术,它是如下几种技术的结合:使用XHTML+CSS来表示信息。使用JavaScript操作DocumentObjectModel进行动态显示及交互。使用XML和XSLT进行数据交换及相关操作。使用XMLHttpRequest对象与Web服务器进行异步数据交换。使用JavaScript将所有这些绑定在一起。传统Web应用程序模型Ajax应用程序的工作模型传统Web应用程序采用同步的交互方式Ajax应用程序采用异步的交互方式7.1.2下载和安装ASP.NETAJAX访问下面的ASP.NETAJAX官网/ajaxASP.NETAJAXArchiveforASP.NET2.0下载页面创建ASP.NETAJAX网站项目7.2使用ScriptManager控件ScriptManager控件可以实现网页的局部刷新,所有需要支持ASP.NETAJAX的ASP.NET页面上只能有一个ScriptManager控件。使用代码来定义ScriptManager控件的方法如下:<asp:ScriptManagerID="ScriptManager1"runat="server"><AuthenticationService
Path=""
/><ProfileService
LoadProperties=""
Path=""
/><Scripts><asp:ScriptReference/></Scripts><Services>
<asp:ServiceReference
/></Services></asp:ScriptManager>ScriptManager控件的重要属性和方法属性或方法说明AllowCustomError和Web.config中的自定义错误配置区<customErrors>相联系,表示是否使用<customErrors>配置,默认值为trueAsyncPostBackErrorMessage异步回传发生错误时的自定义提示错误信息AsyncPostBackTimeout异步回传时超时限制,默认值为90,单位为秒EnablePartialRendering是否支持页面的局部更新,默认值为True,一般不需要修改ScriptMode指定ScriptManager发送到客户端的脚本的模式,有4种模式:Auto,Inherit,Debug,Release,默认值为AutoScriptPath设置所有的脚本块的根目录,作为全局属性,包括自定义的脚本块或者引用第三方的脚本块。如果在Scripts中的<asp:ScriptReference/>标签中设置了Path属性,它将覆盖该属性OnAsyncPostBackError异步回传发生异常时的服务端处理函数,在这里可以捕获一场信息并作相应的处理OnResolveScriptReference指定ResolveScriptReference事件的服务器端处理函数,在该函数中可以修改某一条脚本的相关信息如路径、版本等7.3使用UpdatePanel控件实现网页局部刷新UpdatePanel控件基础使用ContentTemplate属性ContentTemplateContainer属性Triggers属性在ScriptManager控件中注册异步提交控件7.3.1UpdatePanel控件基础使用代码来定义简单UpdatePanel控件的方法如下:<asp:UpdatePanel
ID="UpdatePanel1"
runat="server"><ContentTemplate><!--…--></ContentTemplate><Triggers><asp:AsyncPostBackTrigger
/><asp:PostBackTrigger
/></Triggers></asp:UpdatePanel>UpdatePanel控件的重要属性属性说明ChildrenAsTriggers当UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanle的更新RenderMode表示UpdatePanel最终呈现的HTML元素。Block(默认)表示<div>,Inline表示<span>UpdateMode表示UpdatePanel的更新模式,有两个选项:Always和Conditional。Always是不管有没有Trigger,其他控件都将更新该UpdatePanel,Conditional表示只有当前UpdatePanel的Trigger,或ChildrenAsTriggers属性为true时当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法才会引发更新该UpdatePanel拖动UpdatePanel控件到网页中7.3.2使用ContentTemplate属性【例7.1】
演示使用UpdatePanel控件和ScriptManager控件实现网页的局部刷新,在UpdatePanel控件中使用ContentTemplate属性来定义其中包含的服务器控件。DropDownSelection_Change事件当用户选择不同的颜色时,引发DropDownSelection_Change事件,处理程序中可以根据选择的颜色来设置日历的背景,代码如下:protectedvoidDropDownSelection_Change(objectsender,EventArgse){Calendar1.DayStyle.BackColor=System.Drawing.Color.FromName(ColorList.SelectedItem.Value);}7.3.3ContentTemplateContainer属性如果希望通过编程的方式动态向UpdatePanel控件中添加服务器控件,则可以将动态生成的服务器控件添加到ContentTemplateContainer属性中。【例7.2】
在UpdatePanel控件中使用ContentTemplateContainer属性动态添加一个Label控件和一个Button控件。
【例7.2】7.3.4Triggers属性在ASP.NETAJAX中有两种Triggers,即AsyncPostBackTrigger和PostBackTrigger。AsyncPostBackTrigge用来指定某个服务器端控件以及其将触发的服务器端事件作为该UpdatePanel的异步更新触发器,它需要设置的属性有控件ID和服务端控件的事件;PostBackTrigger用来指定在UpdatePanel中的某个服务端控件,它所引发的回传不使用异步回传,而仍然是传统的整页回传。【例7.3】在UpdatePanel控件中分别使用两种Triggers属性来定义两上Button控件,一个实现异步更新,另一个使用传统的整页回传机制。网页中有两个按钮,分别使用AsyncPostBackTrigger属性和PostBackTrigger属性来定义。单击不同按钮的效果是一样的,即在下面的Label控件中显示更新时间,只是一个按钮采用异步回送方式,另一个按钮采用整页回送方式。7.3.5在ScriptManager控件中注册异步提交控件即使对于不包含在UpdatePanel控件中的服务器控件,也可以使用ScriptManager控件的RegisterAsyncPostBackControl方法将其注册为异步提交的控件,并调用UpdatePanel控件的Update方法进行更新。【例7.4】
演示ScriptManagert控件的RegisterAsyncPostBackControl方法的使用。在网页中添加一个PanelUpdate控件,并在其中添加两个Label控件,在PanelUpdate控件外部定义一个Button控件。【例7.4】<body><formid="form1"runat="server"><asp:ScriptManagerID="ScriptManager1"runat="server"/><div><asp:UpdatePanelID="UpdatePanel1"runat="server"UpdateMode="Conditional"><ContentTemplate><asp:LabelID="Label1"runat="server"Text="更新时间:"></asp:Label><asp:LabelID="Label2"runat="server"Text="Label"ForeColor="Red"></asp:Label><br/><br/></ContentTemplate></asp:UpdatePanel><asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/></div></form></body>【例7.4】在Form_Load方法中调用ScriptManagert控件的RegisterAsyncPostBackControl方法将Button1控件注册为异步提交控件,代码如下:publicvoidPage_Load(objectsender,EventArgse){ScriptManager1.RegisterAsyncPostBackControl(Button1);}在Button1_Click方法中调用UpdatePanel控件的Update方法,刷新UpdatePanel的内容,代码如下:publicvoidButton1_Click(objectsender,EventArgse){this.Label2.Text=DateTime.Now.ToString();this.UpdatePanel1.Update();}【例7.4】7.4使用UpdateProgress控件UpdateProgress控件基础应用在页面中使用多个UpdateProgress控件7.4.1UpdateProgress控件基础应用使用代码来定义简单UpdateProgress控件的方法如下:<asp:UpdateProgressID="UpdateProgress1"runat="server"></asp:UpdateProgress>【例7.5】演示使用UpdateProgress控件的方法。首先在网页中添加一个UpdatePanel控件,然后在其中添加一个Label控件和一个Button控件。【例7.5】单击按钮对应的代码如下:protectedvoidButton1_Click(objectsender,EventArgse){Label1.Text="当时时间是:"+DateTime.Now.ToString()+"。";Thread.Sleep(5000);}【例7.5】
7.4.2在页面中使用多个UpdateProgress控件如果页面中存在多个UpdatePanel控件,则可以使用多个UpdateProgress控件,为每个UpdatePanel控件提供一个UpdateProgress控件,用于显示其刷新时的说明文字或图片。UpdateProgress控件的AssociatedUpdatePanelID属性可以指定与其相关联的UpdatePanel控件。【例7.6】
演示为多个UpdatePanel控件定义各自UpdateProgress控件的方法。首先在网页中添加两个UpdatePanel控件,然后分别在其中添加一个Label控件和一个Button控件。将两个UpdatePanel控件的UpdateMode属性都设置为Conditional。在网页中添加两个UpdateProgress控件,在其中一个UpdateProgress控件中添加字符串“正在处理UpdatePanel1的刷新请求”,在另一个UpdateProgress控件中添加字符串“正在处理UpdatePanel2的刷新请求”。【例7.6】【例7.6】在装载页面时,需要与设置UpdateProgress控件相关联的UpdatePanel控件,代码如下:protectedvoidPage_Load(objectsender,EventArgse){UpdateProgress1.AssociatedUpdatePanelID="UpdatePanel1";UpdateProgress2.AssociatedUpdatePanelID="UpdatePanel2";}经过这样的设置,UpdateProgress1控件将与UpdatePanel1控件相关联,而UpdateProgress2控件将与UpdatePanel2控件相关联。单击按钮的程序与例7.5中类似,代码如下:protectedvoidButton1_Click(objectsender,EventArgse){this.Label1.Text=DateTime.Now.ToString();Thread.Sleep(5000);}protectedvoidButton2_Click(objectsender,EventArgse){this.Label2.Text=DateTime.Now.ToString();Thread.Sleep(5000);}【例7.6】7.5使用Timer控件使用Timer控件可以设置一个时钟,定义在一定时间间隔内在网页内的局部刷新。一个T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 田字格模板 二年级易错字
- 丝毯制作工职业技能鉴定考试复习题库(附答案)
- 2026秋统编版(新)小学道德与法治一年级上册《我向国旗敬个礼》课时练习及答案
- 【湖泊水文情势研究进展文献综述1700字】
- 人事组组长面试题(某世界500强集团)试题集详解
- 风电项目施工工程管理明细
- 统编版小学语文三年级下册期末复习专项训练题02-课外阅读理解(一)(含答案+详细解析)
- 天然药物化学实验讲义
- 特发性正常压力脑积水的诊疗进展
- 珠宝首饰品牌营销代理协议
- 2025-2026学年江苏苏州初二(上)物理期中模拟卷(二)含答案
- 高中分班考试试卷及答案
- 2025广西南宁市公安局面向社会招聘自治区本级留置看护警务辅助人员225人(公共基础知识)测试题带答案解析
- 汽车零部件行业生产经理绩效考核表
- 中国华能集团公司风力发电场检修与维护技术导则(风力发电机组分册)
- 雨课堂学堂云在线《信息与通信技术》单元测试考核答案
- 水泥混凝土路面破除及水泥混凝土路面恢复施工方案
- 膝关节骨性关节炎诊疗指南
- 银行维修改造工程施工组织设计
- 机电设备安装工程设备验收与交付方案
- GJB827B--2020军事设施建设费用定额
评论
0/150
提交评论