脚本管理控件(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的使用方法的更多相关文章

  1. ScriptManager的使用方法 .(转)

    从这一节开始我将和大家一起学习ASP.NET AJAX的服务器端控件的用法.首先,安装ASPAJAXExtSetup.msi,可以到微软官方网站上去下载.安装之后当你新建项目的时候会多出一个ASP.N ...

  2. ajax浅析---ScriptManager

    使用ScriptManager控件 它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX ...

  3. ClientScriptManager与ScriptManager向客户端注册脚本的区别

    使用ClientScriptManager向客户端注册脚本 ClientScriptManager在非异步(就是说非AJAX)环境下使用的.如果要在异步环境下注册脚本应该使用ScriptManager ...

  4. [ASP.NET]ScriptManager控件使用 转载

    目录 概述 局部刷新 错误处理 类型系统扩展 注册定制脚本 注册 Web 服务 在客户端脚本中使用认证和个性化服务 ScriptManagerProxy 类 添加 ScriptManager 控件 客 ...

  5. [ASP.NET]ScriptManager控件使用

    目录 概述 局部刷新 错误处理 类型系统扩展 注册定制脚本 注册 Web 服务 在客户端脚本中使用认证和个性化服务 ScriptManagerProxy 类 添加 ScriptManager 控件 客 ...

  6. ASP.NET AJAX入门系列(2):使用ScriptManager控件

    ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问W ...

  7. [转]asp:ScriptManager

    概述 ScriptManager 控件管理用于 Microsoft ASP.NET AJAX 页面的客户端脚本.默认情况下,ScriptManager 控件将 Microsoft AJAX 库的脚本与 ...

  8. UpdatePanel AsyncPostBackTrigger PostBackTrigger 区别

    1.使用代码的方式进行编写. 2. Trigger属性: 1)AsyncPostBackTrigger :只是UpdatePanel中指定的进行了局部刷新. 2)PostBackTrigger : 整 ...

  9. 使用UpdatePanel控件

    使用UpdatePanel控件(二) UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编 ...

随机推荐

  1. 在easyui dialog的子页面内如何关闭弹窗

    因项目需要在dialog中添加滚动条,所以就在div中加了iframe: <div id="applyRefundDialog" style="display:no ...

  2. 马的遍历问题-回溯法应用-ACM

    马的遍历问题 在n*m的棋盘中,马只能走“日” 字.马从位置(x,y)处出发,把棋盘的每一格都走一次,且只走一次.找出所有路径. 问题解的搜索空间? 棋盘的规模是n*m,是指行有n条边,列有m条边. ...

  3. 熄灯问题 --POJ 2811-ACM

    问题描述 盏灯的状态. 列的灯的状态就不改变. 请你写一个程序,确定需要按下哪些按钮,恰好使得所有的灯都熄灭.根据上面的规则,我们知道: 次按下时所产生的结果.因此,每个按钮最多只需要按下一次: (2 ...

  4. php基础知识【函数】(3)字符串string

    一.大小写转换 1.strtolower()--转换为小写. echo strtolower("Hello WORLD!"); //hello world! 2.strtouppe ...

  5. Python - 多元组(tuple)

    声明一个多元组 (4, 5, 6) 这是列表 [4, 5, 6] 与列表不一样在于多元组使用() 来组织元素而list使用方括号[] 而且多元组不能更改,用于当你的数组不想像list一样会被更改时就使 ...

  6. ALAsset和ALAssetRepresentation

    ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,ALAssetRepresentation类代表相册中每个资源文件的详细信息,可以通过它获取资源的大小 ...

  7. WPF学习笔记-如何按ESC关闭窗口

    如何按ESC关闭窗口? 在InitializeComponent();下面增加KeyDown事件,如: public ModifyPrice() { InitializeComponent(); th ...

  8. 转:使用xhprof进行线上PHP性能追踪及分析

    原文来自于:http://avnpc.com/pages/profiler-php-performance-online-by-xhprof 原创作者:AlloVince 之前一直使用基于Xdebug ...

  9. [Fw]人和人之间在八小时之外的差别

    原文地址:http://hankjin.blog.163.com/blog/static/3373193720083249387801/ 业余八小时人的活动千姿百态.八小时以外你在干什么,恰恰决定着你 ...

  10. Pots

    poj3414:http://poj.org/problem?id=3414 题意:给你两个罐子的体积,然后让你只用这两个罐子量出给定k体积的水.题解:这里可以把两个罐子看成是一个二维的图,然后体积的 ...