当前位置: 首页 > article >正文

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控件的常用属性如下所示:

AllowCustomErrorRedirect:指明在异步回发过程中是否进行自定义错误重定向。

AsyncPostBackTimeout:指定异步回发的超时事件,默认为90秒。

EnablePageMethods:是否启用页面方法,默认值为false

EnablePartialRendering:在支持的浏览器上为UpdatePanel控件启用异步回发。默认值为True

LoadScriptsBeforeUI:指定在浏览器中呈现UI之前是否应加载脚本引用。

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属性指明当服务器上发生未处理异常时要发送到客户端的错误消息。示例代码如下所示。

        protected void Button1_Click(object sender, EventArgs e)

        {

            throw new ArgumentException(); //抛出异常

        }

上述代码当单击按钮控件时,则会抛出一个异常,ScriptManger控件能够捕获异常并输出异常,运行代码后系统会提示异常“回传发生异常:值不在预期范围内”。

http://www.lryc.cn/news/2413511.html

相关文章:

  • Initialization error Could not initializa “D:\app\Administrator\product\11.2.0\dbhome_1\bin\oci...“
  • 视频转gif图片格式-好用的软件
  • Flash组件按钮的使用详解
  • 程序员怎么学?看完这一篇就够了【非常详细】 从零基础入门到精通!
  • 游戏中的寻路算法研究:关于网格
  • 贱男村001号文件
  • 电脑报网站使用盗版软件?
  • com.android.gallery3d文件夹,如何在Android Gallery3D(cooliris)中显示特定文件夹?
  • VMware虚拟机保姆级安装及使用教程
  • delphi学习总结
  • 事务在触发器中结束。批处理已中止。_Introduction to DDIA amp; 6.824(八):分布式事务...
  • 怎样修改一个正在运行的soket的端口
  • 正弦波振荡的常见电路
  • 一个超火的网站“Omegle”
  • 搭建java环境与编译工具安装
  • ansi c标准_钢管 tube和pipe区别,国外钢管标准规范中pipe与tube的用法及中文译名(钢管Tube与Pipe的区别)...
  • 黑莓系统可以玩java吗_黑莓开发环境搭建windows7+eclipse+BlackBerry Java Plug+JDK6
  • 数学软件Maple使用教程
  • 柱面投影的C++实现(一)
  • wave文件格式
  • IMPLEMENT_DYNCREATE 动态创建机制
  • 分布式系统开发微服务架构,基于JavaSE部署环境提供REST微服务
  • 分频器的设计
  • 华硕固件默认ip_斐讯K2/K3路由器掉线严重 刷华硕固件手把手教程
  • 不下载英语包 Vista照样可以玩梦幻桌面
  • 【2024最新高清版】408计算机组成原理考试大纲
  • Career Path(职业前景人生规划)的几点见解
  • 考研阅读唐迟视频总结
  • 微软数据库之微软自带数据库分析
  • 关于如何下载E都市三维地图的教程