`

ScriptManager的用法

阅读更多
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("错误"); //抛出异常
            }
        }

2.捕获异常
当页面回传发生异常时,则会触发AsyncPostBackError事件,示例代码如下所示。
        protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
        {
            ScriptManager1.AsyncPostBackErrorMessage = "回传发生异常:" + e.Exception.Message;
        }
AsyncPostBackError事件的触发依赖于AllowCustomErrorsRedirct属性、AsyncPostBackErrorMessage属性和Web.config中的<customErrors>配置节。其中,AllowCustomErrorsRedirct属性指明在异步回发过程中是否进行自定义错误重定向,而AsyncPostBackErrorMessage属性指明当服务器上发生未处理异常时要发送到客户端的错误消息。示例代码如下所示。
        protected void Button1_Click(object sender, EventArgs e)
        {
            throw new ArgumentException(); //抛出异常
        }
上述代码当单击按钮控件时,则会抛出一个异常,ScriptManger控件能够捕获异常并输出异常,运行代码后系统会提示异常“回传发生异常:值不在预期范围内”。
分享到:
评论

相关推荐

    AJAX中的ScriptManager实战用法

    AJAX中的ScriptManager实战,对AJAX微软框架中scriptmanager功能的介绍..

    ScriptManager和UpdatePanel控件实现页面异步局部更新效果

    ScriptManager和UpdatePanel控件实现页面异步局部更新效果,VS2008项目文件夹,内附详细的文档说明,文档说明包括空间属性和用法介绍及代码说明。个人实验。

    ScriptManager.RegisterStartupScript()方法在ajax页面无效的解决方法

    如果页面中使用了Ajax ,则上述代码即使执行也无效果。应对这种情况我们通常采用: ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), “alertScript”, “window.open(‘default2.aspx’);”, ...

    axp.net ScriptManager的简单用法

    资料中如实是说: 1, ScriptManager(脚本控制器)是asp.net ajax存在的基础. 2, 一个页面只允许有一个ScriptManager,并且放在其他ajax控件的前面. 3,ScriptManager掌管着客户端Ajax页的多有脚本,并在页面中注册Ajax...

    强大的Unity3d ScriptManager脚本管理器插件

    Unity3d ScriptManager脚本管理器插件....设置方法:需要将 Tool_ScriptManager.cs 复制到 Unity 项目中。打开 "Tools/Script Manager" 菜单项,然后将会询问你希望在当前 Unity 项目中的哪个位置放置本地

    AutoComplete控件的使用方法

    1.使用AutoComplete控件实现网页自动填充。仿照百度首页的自动填充。 2.创建数据表Book_info的表,添加数据往里面 3.打开AJAX Extendions选项卡,双击ajax中核心组件ScriptManager 4.打开AJAX Extendions选项卡,...

    ASP.NET AJAX

    通过本文来学习一下UpdatePanel简单的使用方法(第一篇)。 ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二) 导读:UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中...

    AjaxControlToolKit DropDownExtender(下拉扩展控件)使用方法

    给页面添加一个ScriptManager控件(使用方法还没有研究完全,研究完全了试验写点经验) 2.添加一个控制无刷新的UpdatePanel控件 (同上) 3.在UpdatePanel控件中 添加俩个 Label控件 一个用来添加DropDownExtender...

    Asp.net+Ajax框架教程 文档+源码

    1).ScriptManager控件示例... 1. 在异步调用服务端注册客户端脚本新方法... 2. 捕获Ajax异步调用中错误(默认使用alert提示). 3. 捕获Ajax异步调用中错误(自定义输出错误方式) 2).UpdatePanel控件示例... 4....

    ASP.NET AJAX重要的基本五控件

    ASP.NET AJAX(ScriptManager,ScriptManagerProxy,UpdatePanel,UpdateProgress,Timer),文档及单个AJAX控件的使用方法示例等

    完全手册:ASP.net Ajax电子教程(1-8章)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    完全手册:ASP.net Ajax电子教程(9-15章)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    完全手册ASP.NETAjax实用开发详解(14-15)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    完全手册ASP.NETAjax实用开发详解(1-6)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    完全手册ASPNETAjax 实用开发详解(9-11)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    完全手册ASP.NETAjax实用开发详解(12-13)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    完全手册ASP.NETAjax实用开发详解(7-8)

     1.5.3 ScriptManager控件的方法  1.5.4 引入脚本资源  1.5.5 引入Web服务资源  1.5.6 处理AJAX中的异常  1.6 局部更新控件UpdatePanel  1.6.1 UpdatePanel控件概述  1.6.2 UpdatePanel控件的属性  1.6.3...

    ASP.NET AJAX实战源码

    4.3 ScriptManager: Ajax页面的大脑 90 4.3.1 理解ScriptManager 90 4.3.2 部署JavaScript文件 91 4.3.3 注册服务 92 4.3.4 本地化 92 4.3.5 使用ScriptManagerProxy 94 4.4 部分页面更新 95 4.4.1 引入...

    asp.net UpdaeProgress的简单用法

    使用方法: 1.添加一个ScriptManager控件 2.添加一个UpdatePanel控件 3.添加一个UpdateProgress控件 设置UpdateProgress控件的AssociatedUpdatePanelID为第2步 UpdatePanel的ID(如果页面中有多个UpdatePanel则,...

Global site tag (gtag.js) - Google Analytics