zoukankan      html  css  js  c++  java
  • 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属性指明当server上发生未处理异常时要发送到client的错误消息。演示样例代码例如以下所看到的。

            protected void Button1_Click(object sender, EventArgs e)

            {

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

            }

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

  • 相关阅读:
    libPods.a 无法找到的解决方法
    Mac 必备软件 Quicksilver
    Mac玩老游戏DOOM II
    [转载]The Island Castaway mac版解锁
    看了不到一半同事上培训班时候的示例代码,解决了很多前几个月遇到的问题。
    8月16日 layui使用
    8月14日
    8月13日
    8月12日
    8月9日
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4035001.html
Copyright © 2011-2022 走看看