ScriptManager的使用方法
脚本管理控件(ScriptManger)是ASP.NET AJAX中很重要的控件,通过使用ScriptManger可以进行整个页面的局部更新的管理。ScriptManger用来处理页面上局部更新,同一时候生成相关的代理脚本以便可以通过JavaScript訪问Web Service。
ScriptManger仅仅能在页面中被使用一次,这也就是说每一个页面仅仅能使用一个ScriptManger控件,ScriptManger控件用来进行该页面的全局管理。创建一个ScriptManger控件后系统自己主动生成HTML代码,演示样例代码例如以下所看到的。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
ScriptManger控件用户整个页面的局部更新管理,ScriptManger控件的经常使用属性例如以下所看到的:
q AllowCustomErrorRedirect:指明在异步回发过程中是否进行自己定义错误重定向。
q AsyncPostBackTimeout:指定异步回发的超时事件,默觉得90秒。
q EnablePageMethods:是否启用页面方法,默认值为false。
q EnablePartialRendering:在支持的浏览器上为UpdatePanel控件启用异步回发。默认值为True。
q LoadScriptsBeforeUI:指定在浏览器中呈现UI之前是否应载入脚本引用。
q ScriptMode:指定要在多个类型时可载入的脚本类型,默觉得Auto。
在AJAX应用中,ScriptManger控件基本不须要配置就行使用。由于ScriptManger控件通常须要同其它AJAX控件搭配使用,在AJAX应用程序中,ScriptManger控件就相当于一个总指挥官,这个总指挥官仅仅是进行指挥,而不进行实际的操作。
1.使用ScriptManger
ScriptManger控件在页面中相当于指挥的功能,假设须要使用AJAX的其它控件,就必须使用ScriptManger控件而且页面中仅仅能包括一个ScriptManger控件。演示样例代码例如以下所看到的。
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="这是一串字符" Font-Size="12px"></asp:Label>
<br /><br />
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"
ontextchanged="TextBox1_TextChanged"></asp:TextBox>
字符的大小(px)
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
上述代码创建了一个ScriptManger控件和一个UpdatePanel控件用于AJAX应用开发。在UpdatePanel控件中,包括一个Label标签控件和一个TextBox文本框控件,当文本框控件的内容被更改时,则会触发TextBox1_TextChanged事件。TextChanged事件对应的CS代码例如以下所看到的。
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
try
{
Label1.Font.Size = FontUnit.Point(Convert.ToInt32(TextBox1.Text)); //改变字体
}
catch
{
Response.Write("错误"); //抛出异常
}
}
上述代码通过文本框中的输入进行字体控制,当输入一个数字字符串并失去焦点时,则会触发改事件并执行对应的代码,执行后如图16-10和图16-11所看到的。
图16-10 输入字符大小 图16-11 调整字体大小
2.捕获异常
当页面回传发生异常时,则会触发AsyncPostBackError事件,演示样例代码例如以下所看到的。
protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
ScriptManager1.AsyncPostBackErrorMessage = "回传发生异常:" + e.Exception.Message;
}
AsyncPostBackError事件的触发依赖于AllowCustomErrorsRedirct属性、AsyncPostBackErrorMessage属性和Web.config中的<customErrors>配置节。当中,AllowCustomErrorsRedirct属性指明在异步回发过程中是否进行自己定义错误重定向,而AsyncPostBackErrorMessage属性指明当server上发生未处理异常时要发送到client的错误消息。演示样例代码例如以下所看到的。
protected void Button1_Click(object sender, EventArgs e)
{
throw new ArgumentException(); //抛出异常
}
上述代码当单击button控件时,则会抛出一个异常,ScriptManger控件可以捕获异常并输出异常,执行代码后系统会提示异常“回传发生异常:值不在预期范围内”。
ScriptManager的使用方法相关推荐
- ScriptManager 帮助您实现 Web 应用程序的 AJAX 功能
本文讨论: ScriptManager 在 ASP.NET AJAX 中的作用 ScriptManager 的隐式使用和显式使用 ASP.NET AJAX 对 Web 服务的支持 ASP.NET AJ ...
- scriptmanager
ScriptManager 控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问 ...
- 小试 ScriptManager
1 概述 ScriptManager 控件管理用于 Microsoft ASP.NET AJAX 页面的客户端脚本.默认情况下,ScriptManager 控件将 Microsoft AJAX 库的脚 ...
- asp:ScriptManager
概述 ScriptManager 控件管理用于 Microsoft ASP.NET AJAX 页面的客户端脚本.默认情况下,ScriptManager 控件将 Microsoft AJAX 库的脚本与 ...
- [ASP.NET]ScriptManager控件使用 转载
目录 概述 局部刷新 错误处理 类型系统扩展 注册定制脚本 注册 Web 服务 在客户端脚本中使用认证和个性化服务 ScriptManagerProxy 类 添加 ScriptManager 控件 客 ...
- ASP.NET AJAX入门系列(2):使用ScriptManager控件
ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问W ...
- 让UpdatePanel支持文件上传(2):服务器端组件
我们现在来关注服务器端的组件.目前的主要问题是,我们如何让页面(事实上是ScriptManager控件)认为它接收到的是一个异步的回送?ScriptManager控件会在HTTP请求的Header中查 ...
- 零基础AJAX入门(含Demo演示源文件)
零基础AJAX入门(含Demo演示源文件) 作者:一点一滴的Beer 个人主页:http://www.cnblogs.com/beer 摘要:因为笔者的大四毕业设计是做WebGIS系统,用过Web版 ...
- UpdatePanel AsyncPostBackTrigger PostBackTrigger 区别
1.使用代码的方式进行编写. 2. Trigger属性: 1)AsyncPostBackTrigger :只是UpdatePanel中指定的进行了局部刷新. 2)PostBackTrigger : 整 ...
最新文章
- input禁止后怎么实现复制功能_(变强、变秃)Java从零开始之JQuery购物车功能实操...
- 配置oracle服务器以从外部机器访问oracle
- android自动化优化工具,一键自动优化系统大师下载
- Redis 6 RC1发布,带来众多新特性
- 《Python Cookbook 3rd》笔记(2.16):以指定列宽格式化字符串
- android onclick方法吗,Android中button的onClick事件几种方法
- php设置表格边框颜色,HTML表格标记教程(38):表头的边框色属性BORDERCOLOR
- 论文阅读04:Deep Triplet Hashing Network for Case-based Medical Image Retrieval
- 一加手机回应“滤镜透视”争议:为消除担忧 暂时禁用该滤镜
- 搜索图片及相似度探秘 一
- 用idea搭建SSM框架maven项目
- 求圆周率π一万位程序分析
- ansys linux 安装教程pdf,Deepin linux安装Ansys13详细教程.pdf
- html设置表单禁止修改群名片,如何设置禁止管理员修改qq群名片
- 【数字电路基础】——逻辑门电路
- STM32CubeIDE USB Audio声卡 WM8978 + I2S
- SAP 系统销售流程成本和收入的确认
- 一步真实解决RuntimeError: result type Float can‘t be cast to the desired output type long int
- 微信开发五之微信红包开发
- 怎样查网站的排名和收录情况
热门文章
- Pygame 键盘输入
- 微信企业号开发之地理位置获取
- 前端面试题(中高级)
- 论文阅读-《结合分析直接照明和随机阴影》
- 基于JavaWeb+JSP的新闻中心管理系统
- gpg4win+thunderbird+enigmail实现电子邮件签名与加密
- ROS:服务数据(srv)的定义与使用
- word中表格文字居中
- 8串口服务器芯片,8口串口服务器,串口转网口,485转以太网,232转以太网,422转网络...
- C语言串口与网口转换,单片机通过串口与电脑连接通信C语言源代码