宜宾职业技术学院陈骇伦实训09 Ajax技术的应用指导书.docx
- 文档编号:9699060
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:17
- 大小:125.23KB
宜宾职业技术学院陈骇伦实训09 Ajax技术的应用指导书.docx
《宜宾职业技术学院陈骇伦实训09 Ajax技术的应用指导书.docx》由会员分享,可在线阅读,更多相关《宜宾职业技术学院陈骇伦实训09 Ajax技术的应用指导书.docx(17页珍藏版)》请在冰点文库上搜索。
宜宾职业技术学院陈骇伦实训09Ajax技术的应用指导书
实训九Ajax技术的应用
教学目标
1.理解Ajax概念、应用模型以及特性;
2.理解脚本管理控件的作用、格式和应用;
3.掌握局部更新面板控件以及脚本管理代理控件的子标签的应用和使用;
教学要求
1.认真听讲,专心操作,认真记录实验过程,总结操作经验和写好实验报告;
2.操作规范,完成网站的调查撒与分析;
3.遵守学校的实验室纪律,注意人身和设备的安全操作,爱护实验设备、及时上缴作业。
4.在实验中培养严谨科学的实践操作习惯。
知识要点
1.理解Ajax概念、应用模型以及特性;
2.理解脚本管理控件的作用、格式和应用;
技术要点
1.掌握脚本管理控件的格式和应用;
2.掌握局部更新面板控件的子标签的应用和使用;
3.脚本管理代理控件的子标签的应用和使用;
技能训练
一.讲授
正确启动计算机,在最后一个磁盘上建立以学号为名的文件夹,从指定的共享文件夹中将“实习指导书”和其他内容复制到该文件夹中。
(一)Ajax技术
1.Ajax概念
基于XML的异步JavaScript,是整合了JavaScript、Xml、CSS等技术的一类Web应用程序所使用的技术集合;
Ajax并不是一种新的编程语言,而仅仅是一种新的技术,它可以创建更好、更快且交互性更强的web应用程序。
Ajax使用JavaScript在web浏览器与web服务器之间来发送和接收数据。
通过在幕后与web服务器交换数据,而不是每次用户做出改变时重载整个web页面,Ajax技术可以使网页更迅速地响应。
在ASP.Net3.5以前不支持Ajax技术;
2.应用模型
(1)传统Web应用模型
每次提交表单时,就向服务器发送一个请求,服务器接受该请求并执行相应的操作后将生成一个页面返回给浏览者,即浏览者第一次浏览的页面和服务器处理表单后返回的页面在形式上基本相同,因当大量用户进行表单操作时,会增加网络通信的宽度;
(2)AjaxWeb应用模型
浏览器提供了一个中间层Ajax引擎,主要处理服务器和客户端间的通信,实现局部更新,无须回发整个页面,就能使Web服务器尽快地响应用户的要求。
Ajax引擎是一个JavaScript对象和函数,只有当信息必须从服务器上获取时才调用。
3.Ajax的主要技术
HTML/XHTML:
页面主要内容的表示语言;
CSS:
为HTML/XHTML提供文本格式定义;
DOM:
对已载入的页面进行动态更新;
JavaScript:
用来编写AJAX引擎的脚本语言(XMLHttpRequest);
XML:
XMLDOM、XSLT、XPath等XML编程语言;
AJAX的核心是JavaScript对象XMLHttpRequest,该对象是一种支持异步请求的技术,用户可以使用该对象向服务器提出请求并处理响应,并且还不会影响客户端的信息通信;
4.Ajax特性
(1)优点
①将部分服务器负担的工作转移到客户端,利用客户端闲置的资源进行处理,减轻服务器和带宽的负担,节约空间和成本。
②无刷新更新页面,从而使用户不用再像以前一样在服务器处理数据时,只能在死板的白屏前焦急的等待。
Ajax使用XMLHttpRequest对象发送请求并得到服务器响应,在不需要重新载入整个页面的情况下,就可以通过DOM及时将更新的内容显示在页面上。
③可以调用XML等外部数据,进一步促进页面显示和数据的分离。
④基于标准化的并被广泛支持的技术,不需要下载插件或者小程序,即可轻松实现桌面应用程序的效果。
⑤Ajax没有平台限制。
Ajax把服务器的角色由原本传输内容转变为传输数据,而数据格式则可以是纯文本格式和XML格式,这两种格式没有平台限制。
(2)缺点
①大量的JavaScript,不易维护。
②可视化设计上比较困难。
③打破“页”的概念。
④给搜索引擎带来困难
(二)脚本管理(ScriptManage)
1.作用
ScriptManager能够对整个页面进行局部更新管理。
ScriptManager用来处理页面上局部更新,同时生成相关代理脚本以便能够通过JavaScript访问Web服务。
即核心控件;
即脚本管理员,开发Ajax网站必须为每个页面添加唯一个ScriptManager控件,即出现在所有Ajax控件前;
对页面进行管理时,每个要使用AJAX功能的页面都需要使用一个ScriptManager控件,且只能被使用一次。
ScriptManager控件负责管理Ajax页面的客户端脚本。
ScriptManager控件向客户端发送AJAX所需脚本,客户端使用AJAX的类型进行系统扩展,并在服务器和客户机之间来回编组信息,完成部分页面的更新。
2.格式
ScriptManagerID="ScriptManager1"runat="server">
ScriptManager>
3.属性
属性/方法
描述
AllowCustomErrorsRedirect
表示在异步回发过程中是否进行自定义错误重定向,默认值为true
AsyncPostBackErrorMessage
表示在异步回送过程中发生的异常将显示出的消息
AsyncPostBackTimeout
异步回传时超时限制,默认值为90,单位为秒
EnablePageMethods
用于设定客户端JavaScript直接调用服务端静态WebMethod
EnablePartialRendering
可以使页面的某些控件或某个区域实现AJAX类型的异步回送和局部更新功能,默认值为true。
当属性设置为false时,则整个页面将不进行局部更新而失去AJAX的效果
LoadScriptBeforeUI
是否需要在加载UI控件前首先加载脚本,默认为false
ScriptMode
指定ScriptManager发送到客户端的脚本的模式,有4种模式:
Auto,Inherit,Debug和Release,默认值为Auto
ScriptPath
设置所有的脚本块的根目录,作为全局属性,包括自定义的脚本块或者引用第三方的脚本块
(三)局部更新面板(UpdatePanel)
1.作用
必须基于依赖ScriptManager控件时,才添加一个或多个UpdatePanel控件,以保存回送模型,实现执行页面的局部刷新。
使用UpdatePanel控件时,整个页面中只有UpdatePanel控件中的服务器控件或事件进行刷新操作,而页面的其他地方则不会被刷新。
即只需将服务器端更新内容的控件放入到UpdatePanel控件。
当Updatapanel控件中的某个控件触发了一个回送,Updatepanel可截获这个请求,并启动一个异步回送来更新页面中的局部内容。
UpdatePanel控件通过
2.属性
RenderMode
指明UpdatePanel控件内呈现的标记是值为Block时用
UpdateMode
指明内容模板的更新模式:
Always每次Postback后更新,Conditon特定时更新
ChildrenAsTriggers
指明在UpdatePanel控件的子控件的回发中是否导致UpdatePanel控件的更新,默认值为true
EnableViewState
指明是否自动保存其往返过程
3.ContentTemplate标签
作用:
在异步页面回送过程中,将需要修改的控件包含在此标签中,就能够实现这些控件的页面无刷新的更新操作。
任务一计算机系统时间的更新
要求:
利用ScriptManager控件和ContentTemplate标签实现时间的更新;
步骤:
①新建网站
建一个ASP.NET空网站“UpdatePanel”,新建页面为default.aspx;
②添加控件
在页面中先添加一个Scriptmanager控件,再添加一个UpdatePanel控件,并在UpdatePanel中添加一个Label控件(lbTime)和一个Button控件(btTime)。
③后台代码
在按钮事件中添加代码:
this.lbTime.Text=DateTime.Now.ToString();
④测试:
按F5测试default.aspx,查看运行效果。
;
⑤控件移动
将Label控件(lbTime)和一个Button控件(btTime)剪切移动到UpdatePanel控件外进行测试;
⑥测试:
按F5测试default.aspx,查看运行效果。
4.Trigger标签
①作用
指定引发异步页面回送的各种触发器;
若按钮放在UpdatePanel控件的
②AsyncPostBackTrigger触发器控件
用来指定某个服务器控件,以及将其触发的服务器事件作为UpdatePanel异步更新的一种触发器;它包含ControlID和EventName两个属性,用于把按钮控件与触发器关联起来,进行异步回送。
ControlID属性:
用作异步页面回送的触发器的控件ID;
EventName属性:
是ControlID指定的控件的事件名,该事件要在客户端的异步请求中调用。
③PostBackTrigger触发器控件
用来指定在UpdatePanel中的某个控件,并指定其控件产生的事件将使用传统的回发方式进行回发。
当使用PostBackTrigger控件进行控件描述时,该控件产生了一个事件,此时页面并不会异步更新,只会使用传统的方法进行页面刷新
任务二 无刷新用户名验证
要求:
利用Ajax框架技术实现无刷新用户名验证;
步骤:
①网站的创建
建一个ASP.NET空网站“AjaxNoRefresh”,导入数据库文件AjaxDB.accdb,并新建页面UserCheck.aspx,进行页面布局,插入14行3列、宽420px的表格;
②添加控件及文字
在页面中添加相应的文字信息及控件,注意ID名称的调用;
在最后一行添加“错误信息显示控件”ValidationSummary,设置其属性ShowMessageBox为True,ShowSummary为False,显示的错误消息是由每个验证控件的ErrorMessage属性规定的。
③控件属性设置(第3列)
用户名、密码、确认密码设置验证必填控件RequireEieldValidator;
确认密码设置比较验证控件CompareValidator;
年龄文本框设置范围验证控件RangeValidator
手机号码设置手机的格式模式匹配RegularExpressionValidator,并设置ValidationExpression的正则表达式[1][3,5,8]\d{9}
Email设置符合格式的模式匹配控件RegularExpressionValidator,并设置ValidationExpression的正则表达式\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
④添加Ajax的控件
在“用户名”文本框控件右边添加ScriptManager控件和UpdatePanel控件,并在UpdatePanel的
⑤检测用户是否在存CheckUName()
⑥添加TextChanged事件
添加用户名文本框的方法ontextchanged的事件名txtUName_TextChanged,其后台代码为:
⑦测试:
按F5测试default.aspx,查看运行效果。
(四)Timer控件
1.作用
可以使应用程序方便有效地对系统时间进行控制。
用于一定的时间间隔后触发某个事件,自动完成任务的一种特殊控件;
2.事件与属性
Tick事件:
当达到指定的时间间隔时被触发,用于设计要完成的任务;
Enabled:
是否启用了Tick事件引发;
Interval:
设置Tick事件之间的连续时间,单位为毫秒;
注:
要实现时钟的无刷新变化,还需要将该控件放置于有ScriptManage控件进行页面全局管理的页中,并使用UpdatePanel控件,实现时钟的局部更新。
任务三页面中时钟无刷新显示
要求:
利用Timer控件的属性和事件实现页面中时钟无刷新显示;
步骤:
①新建网站
建一个ASP.NET空网站“TimerDemo”,新建Web窗体,命名为default.aspx;
②添加控件
添加Ajax的管理控件ScriptManager及局部更新控件UpdatePanel,并在UpdatePanel中添加一个Label控件,以及Timer控件,设置其属性Interval为1000;
③后台时间更新代码
在Page_Load()事件中添加加载页面显示系统时间代码;
或者在Timer控件的ontick事件编写代码:
④测试:
按F5测试default.aspx,查看运行效果。
(五)脚本管理代理控件(ScriptManageProxy控件)
在Web应用的开发过程中,常常通过母版页来为应用程序中的页创建一致布局。
母版页与内容页一同组合成一个新页面呈现在客户端浏览器中。
若在母版页中使用了ScriptManager控件,而在内容页中再使用ScriptManager控件,整合在一起的页面就会出现异常。
任务四 在母版页和内容页中均无刷新地显示系统时钟
要求:
利用ScriptManageProxy控件在母版页和内容页中均无刷新页面的显示系统时钟;
步骤:
①新建网站
建一个ASP.NET空网站“ScriptManagerProxy”,新建母版页文件MasterPage.master;
②控件的添加与设置
在占位符ContentPlaceHolder上方添加Ajax的管理控件ScriptManager及局部更新控件UpdatePanel,并在UpdatePanel的
TextBox控件、Button控件、Label控件,以及Timer控件,即上图的上半部分;
Button1控件的属性Text设置为“母版页时间”,Timer1控件属性Interval设置为1000;
设置占位符编辑区域的
③母版页控件事件的设置
单击“Button1”按钮设置TextBox1控件中显示当前系统时间:
TextBox1.Text=DateTime.Now.ToString();
单击Timer1控件设置Label1控件中显示当前系统时间;
④内容页的设置
新建页面Default.aspx,并应用母版页,在占位符ContentPlaceHolder1中添加相关控件:
添加Ajax的脚本管理代理控件ScriptManagerProxy及局部更新控件UpdatePanel;
在UpdatePanel的
TextBox控件、Button控件、Label控件;
Button2控件的属性Text设置为“内容页时间”;
⑤内容页控件事件的设置
单击“Button2”按钮设置TextBox2控件中显示当前系统时间;
在Page_Load()事件中设置Label2控件中显示当前系统时间;
⑥测试:
按F5测试default.aspx,查看运行效果。
(六)Ajax扩展控件工具
1.Ajax扩展控件工具包的安装
添加扩展控件工具包AjaxControlToolkit.dll,若不出现相应工具,则设置:
在“解决方案资源管理器”中右击→属性页→生成→目标Framework→修改成.netFramework4.0
若工具箱中不在出现,则(按ctrl强制拖到工具箱中)在工具箱添加选项,选择相应的浏览dll文件,但在NET组件中取消选择,确定后,再次添加相应的dll文件;
2.密码强度提示控件(PasswordStrength控件)
(1)用途
动态的去检测密码的强度,并友好的提示
(2)属性
TargetControlID:
该扩展器目标TextBox控件的ID,即将要添加密码强度指示的TextBox的ID;
StrengthIndicatorType:
指示密码强度的方式,可选Text和Barindicator,代表文本方式和指示条方式;
DisplayPosition:
强度指示元素与目标TextBox之间的相对位置,AboveLeft(左上角)、AboveRight(右上角)、BelowLeft(左下角)、BelowRight(右下角)、LeftSide(左边)以及RightSide(右边)六种;
HelpStatusLabelID:
用来帮助用户填写合乎要求的密码而设置的Label的ID。
用户在输入密码时,该Label中的文字将不断更新,以提示用户还应该输入何种类型的字符;
TextStrengthDescriptions:
用分号(;)链接起来的用来描述不同强度级别的字符串,例如“很弱;弱;中等;强;极强”,必须满足从弱到强的顺序,且强度级别的数目要在2~10个之间;
PrefixText:
强度级别的前缀文字;
TextCssClass:
强度指示文本将应用的CSSClass;
BarBorderCssClass:
强度指示条的边框将应用的CSSClass;
BarIndicatorCssClass:
强度指示条将应用的CSSClass;
HelpHandlePosition:
帮助按钮与目标TextBox间的相对位置,AboveLeft(左上角)、AboveRight(右上角)、BelowLeft(左下角)、BelowRight(右下角)、LeftSide(左边)以及RightSide(右边)六种;
HelpHandleCssClass:
帮助按钮将应用的CSSClass;
PreferredPasswordLength:
强度级别要达到最高所需要的最少密码长度;
MinimumNumericCharacters:
强度级别要达到最高所需要的最少数字字符的个数;
MinimumSymbolCharacters:
强度级别要达到最高所需要的最少特殊字符(例如!
@#$%等)的个数;
RequiresUpperAndLowerCaseCharacters:
密码中是否需要混合出现大小写字母才能够使强度级别达到最高
CalculationWeightings:
用分号(;)连接起来的4个数值,用来设置计算密码强度时各种类型字符所占的权重,该属性的默认值为50;15;15;20。
由分号隔开的这4个数值的和必须为100,其格式为L;N;C;S:
L代表Length,即密码的长度在强度计算中的权重
N代表Number,即密码中数字的个数的强度计算中的权重
C代表Case,即密码中混杂的大小写字符的强度计算中的权重
S代表Symbol,即密码中的特殊字符(例如!
@#$%)在强度计算中的权重
任务五 密码强度的提示
要求:
利用Ajax扩展工具包实现密码强度的提示;
步骤:
(1)新建网站
建一个ASP.NET空网站“PasswordStrength”,新建页面文件default.aspx,插入宽460、5行2列的表格,并应用css09.css样式;
(2)添加控件及属性设置
①管理控件的添加
添加Ajax的管理控件ScriptManager,输入两行文字,两个TextBox控件,分别对两个TextBox控件添加扩展应用程序PasswordStrength控件;
②使用“文本”显示密码强度
设置TextBox1的密码强度属性:
MinimumNumericCharacters为"1",MinimumSymbolCharacters为"1";
PrefixText为"密码强度:
",TargetControlID为"TextBox1";
TextStrengthDescriptions为"很差;差;一般;好;很好"
StrengthStyles为"textIndicator_1;textIndicator_2;textIndicator_3;textIndicator_4;textIndicator_5";
③使用“进度条”显示强度
设置TextBox2的密码强度属性:
(4)测试:
按F5测试default.aspx,查看运行效果。
3.添加水印提示(TextBoxWatermark控件)
(1)功能
可以让TextBox控件初始化的时候拥有水印提示文字。
当单击水印文字时将立即消失,即空白文本框;
(2)属性
TargetControlID:
要使用具有水印效果的TextBox控件ID。
WatermarkCssClass:
指定水印文字的CSS样式表。
WatermarkText:
显示在TextBox控件的水印文字内容
二.学生课堂任务实践
任务六 文本框水印文字提示的设置
要求:
利用ScripManager控件及TextBoxWatermark控件实现文本框水印文字提示的设置;
步骤:
(1)新建网站
建一个ASP.NET空网站“TextBoxWatermark”,新建Web窗体,命名为default.aspx,定义CSS样式:
.txt
{
border-style:
solid;
border-color:
#666666;
border-width:
1px2px2px1px;
margin:
2px;
}
.watermark
{
color:
#666666;
}
(2)添加控件及属性设置
添加Ajax的管理控件ScriptManager,两行文字,两个TextBox控件、TextBox、TextBox2的CssClass属性均为txt,BackColor属性值为#daeeee,TextBox2的TextMode为MultiLine,设置4行,以及确定按钮;
分别对两个TextBox控件添加扩展应用程序TextBoxWatermark控件(TextBoxWatermarkExtender);
在源视图下,对两个WatermarkText分别设置“请输入标题”和“请输入备注”,并设置WatermarkCssClass为watermark;
(3)测试:
按F5测试default.aspx,查看运行效果。
三.课堂小结
1.本课的纪律评价。
2.典型学生习作点评。
3.提出要求:
课后积极参与完善相关代码功能,增加主动性,才能有所收获。
四.作业
要求:
课程完成教材中所涉及的示例?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宜宾职业技术学院陈骇伦实训09 Ajax技术的应用指导书 宜宾 职业技术学院 陈骇伦实训 09 Ajax 技术 应用 指导书