你的位置:首页 > 软件开发 > ajax > ASP.NETAJAX入门系列(2):使用ScriptManager控件

ASP.NETAJAX入门系列(2):使用ScriptManager控件

发布时间:2008-10-23 21:51:00
ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过J

ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过JS来调用的Web Service,以及调用AuthenticationService和ProfileService,还有页面错误处理等。

 

主要内容

1.控件概述

2.一个简单的示例

3.客户端脚本模式

4.错误处理

5.Services属性

6.Scripts属性

 

一.控件概述

ScriptManager控件包括在ASP.NET 2.0 AJAX Extensions中,它用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service,所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。在ScriptManager控件中我们可以指定需要的脚本库,或者指定通过JS来调用的Web Service,还可以指定页面错误处理等。

使用<asp:ScriptManager/>来定义一个ScriptManager,简单的ScriptManager定义形式:

ASP.NETAJAX入门系列(2):使用ScriptManager控件<asp:ScriptManager ID="ScriptManager1" ASP.NETAJAX入门系列(2):使用ScriptManager控件                   runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件      <AuthenticationService Path="" />ASP.NETAJAX入门系列(2):使用ScriptManager控件      <ProfileService LoadProperties="" Path="" />ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件      <Scripts>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件        <asp:ScriptReference/>ASP.NETAJAX入门系列(2):使用ScriptManager控件      </Scripts>ASP.NETAJAX入门系列(2):使用ScriptManager控件      <Services>ASP.NETAJAX入门系列(2):使用ScriptManager控件        <asp:ServiceReference />ASP.NETAJAX入门系列(2):使用ScriptManager控件      </Services>ASP.NETAJAX入门系列(2):使用ScriptManager控件</asp:ScriptManager>ScriptManager属性和方法如下:

 

属性/方法

描述

AllowCustomError

和Web.config中的自定义错误配置区<customErrors>相联系,是否使用它,默认值为true

AsyncPostBackErrorMessage

异步回传发生错误时的自定义提示错误信息,

AsyncPostBackTimeout

异步回传时超时限制,默认值为90,单位为秒

EnablePartialRendering

是否支持页面的局部更新,默认值为True,一般不需要修改

ScriptMode

指定ScriptManager发送到客户端的脚本的模式,有四种模式:Auto,Inherit,Debug,Release,默认值为Auto,后面会仔细说到。

ScriptPath

设置所有的脚本块的根目录,作为全局属性,包括自定义的脚本块或者引用第三方的脚本块。如果在Scripts中的<asp:ScriptReference/>标签中设置了Path属性,它将覆盖该属性。

OnAsyncPostBackError

异步回传发生异常时的服务端处理函数,在这里可以捕获一场信息并作相应的处理。

OnResolveScriptReference

指定ResolveScriptReference事件的服务器端处理函数,在该函数中可以修改某一条脚本的相关信息如路径、版本等。

 

二.一个简单的示例

这个例子其实是UpdatePanel示例,在页面中加入了日期控件和一个下拉框,根据下拉框选择的不同,日期控件背景变为不同的颜色。示例代码如下:

ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<%ASP.NETAJAX入门系列(2):使用ScriptManager控件@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>ASP.NETAJAX入门系列(2):使用ScriptManager控件 ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<script runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    void DropDownSelection_Change(Object sender, EventArgs e)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        Calendar1.DayStyle.BackColor =ASP.NETAJAX入门系列(2):使用ScriptManager控件            System.Drawing.Color.FromName(ColorList.SelectedItem.Value);ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件</script>ASP.NETAJAX入门系列(2):使用ScriptManager控件 ASP.NETAJAX入门系列(2):使用ScriptManager控件<html ="http://www.w3.org/1999/xhtml">ASP.NETAJAX入门系列(2):使用ScriptManager控件<head id="Head1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <title>ScriptManager Example</title>ASP.NETAJAX入门系列(2):使用ScriptManager控件</head>ASP.NETAJAX入门系列(2):使用ScriptManager控件<body>ASP.NETAJAX入门系列(2):使用ScriptManager控件    <form id="form1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件        <div>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <asp:ScriptManager ID="ScriptManager1" ASP.NETAJAX入门系列(2):使用ScriptManager控件                               runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件            </asp:ScriptManager>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <asp:UpdatePanel ID="UpdatePanel1"ASP.NETAJAX入门系列(2):使用ScriptManager控件                             runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件                <ContentTemplate>ASP.NETAJAX入门系列(2):使用ScriptManager控件                    <asp:Calendar ID="Calendar1" ASP.NETAJAX入门系列(2):使用ScriptManager控件                                  ShowTitle="True"ASP.NETAJAX入门系列(2):使用ScriptManager控件                                  runat="server" />ASP.NETAJAX入门系列(2):使用ScriptManager控件                    <div>ASP.NETAJAX入门系列(2):使用ScriptManager控件                        Background:ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <br />ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <asp:DropDownList ID="ColorList" ASP.NETAJAX入门系列(2):使用ScriptManager控件                                          AutoPostBack="True" ASP.NETAJAX入门系列(2):使用ScriptManager控件                                          OnSelectedIndexChanged="DropDownSelection_Change"ASP.NETAJAX入门系列(2):使用ScriptManager控件                                          runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件                            <asp:ListItem Selected="True" Value="White"> ASP.NETAJAX入门系列(2):使用ScriptManager控件                            White </asp:ListItem>ASP.NETAJAX入门系列(2):使用ScriptManager控件                            <asp:ListItem Value="Silver"> ASP.NETAJAX入门系列(2):使用ScriptManager控件                            Silver </asp:ListItem>ASP.NETAJAX入门系列(2):使用ScriptManager控件                            <asp:ListItem Value="DarkGray"> ASP.NETAJAX入门系列(2):使用ScriptManager控件                            Dark Gray </asp:ListItem>ASP.NETAJAX入门系列(2):使用ScriptManager控件                            <asp:ListItem Value="Khaki"> ASP.NETAJAX入门系列(2):使用ScriptManager控件                            Khaki </asp:ListItem>ASP.NETAJAX入门系列(2):使用ScriptManager控件                            <asp:ListItem Value="DarkKhaki"> DASP.NETAJAX入门系列(2):使用ScriptManager控件                            ark Khaki </asp:ListItem>ASP.NETAJAX入门系列(2):使用ScriptManager控件                        </asp:DropDownList>ASP.NETAJAX入门系列(2):使用ScriptManager控件                    </div>ASP.NETAJAX入门系列(2):使用ScriptManager控件                </ContentTemplate>ASP.NETAJAX入门系列(2):使用ScriptManager控件            </asp:UpdatePanel>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <br />ASP.NETAJAX入门系列(2):使用ScriptManager控件        </div>ASP.NETAJAX入门系列(2):使用ScriptManager控件    </form>ASP.NETAJAX入门系列(2):使用ScriptManager控件</body>ASP.NETAJAX入门系列(2):使用ScriptManager控件</html>

 

三.客户端脚本模式

在前面我们提到了ScriptMode属性指定ScriptManager发送到客户端的脚本的模式,它有四种模式:Auto,Inherit,Debug,Release,默认值为Auto。

1.Auto:它会根据Web站点的Web.config配置文件来决定使用哪一种模式,只有当配置文件中retail属性设置为false:

ASP.NETAJAX入门系列(2):使用ScriptManager控件<system.web>ASP.NETAJAX入门系列(2):使用ScriptManager控件  <deployment retail="false" />ASP.NETAJAX入门系列(2):使用ScriptManager控件</system.web>

或者页面中的Debug指令设为true的时候会使用Debug版本,其他的情况都会使用Release版本。

ASP.NETAJAX入门系列(2):使用ScriptManager控件<%@ Page Language="C#" Debug="true"ASP.NETAJAX入门系列(2):使用ScriptManager控件AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

2.Inherit:应该是通过程序设置ScriptMode的时候,等同于Auto?(不太了解)

3.Debug:客户端脚本使用Debug版本,除非retail属性设为true。

4.Release:客户端脚本使用Release版本,除非retail属性设为false。

 

四.错误处理

在页面回传时如果发生了异常AsyncPostBackError事件将被触发,错误信息的处理依赖于AllowCustomErrors属性、AsyncPostBackErrorMessage属性和Web.config中的<customErrors>配置区。下面看一个简单的错误处理例子,在AsyncPostBackError事件中捕获到异常信息并设置AsyncPostBackErrorMessage属性。

ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<%ASP.NETAJAX入门系列(2):使用ScriptManager控件@ Page Language="C#" %>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<script runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    protected void ErrorProcessClick_Handler(object sender, EventArgs e)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        // the server error gets intercepted on the client and an alert is shown. ASP.NETAJAX入门系列(2):使用ScriptManager控件        throw new ArgumentException();ASP.NETAJAX入门系列(2):使用ScriptManager控件    protected void SuccessProcessClick_Handler(object sender, EventArgs e)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        UpdatePanelMessage.Text = "The asynchronous postback completed successfully.";ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件    protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件</script>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<head id="Head1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <title>PageRequestManager endRequestEventArgs Example</title>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    <style type="text/css">ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    body {ASP.NETAJAX入门系列(2):使用ScriptManager控件}{ASP.NETAJAX入门系列(2):使用ScriptManager控件        font-family: Tahoma;ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    #AlertDiv{ASP.NETAJAX入门系列(2):使用ScriptManager控件}{ASP.NETAJAX入门系列(2):使用ScriptManager控件    left: 40%; top: 40%;ASP.NETAJAX入门系列(2):使用ScriptManager控件    position: absolute; width: 200px;ASP.NETAJAX入门系列(2):使用ScriptManager控件    padding: 12px; ASP.NETAJAX入门系列(2):使用ScriptManager控件    border: #000000 1px solid;ASP.NETAJAX入门系列(2):使用ScriptManager控件    background-color: white; ASP.NETAJAX入门系列(2):使用ScriptManager控件    text-align: left;ASP.NETAJAX入门系列(2):使用ScriptManager控件    visibility: hidden;ASP.NETAJAX入门系列(2):使用ScriptManager控件    z-index: 99;ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    #AlertButtons{ASP.NETAJAX入门系列(2):使用ScriptManager控件}{ASP.NETAJAX入门系列(2):使用ScriptManager控件    position: absolute;ASP.NETAJAX入门系列(2):使用ScriptManager控件    right: 5%;ASP.NETAJAX入门系列(2):使用ScriptManager控件    bottom: 5%;ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件    </style>ASP.NETAJAX入门系列(2):使用ScriptManager控件</head>ASP.NETAJAX入门系列(2):使用ScriptManager控件<body id="bodytag">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <form id="form1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件        <div>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <asp:ScriptManager ID="ScriptManager1" runat="server" ASP.NETAJAX入门系列(2):使用ScriptManager控件            </asp:ScriptManager>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件                var messageElem = 'AlertMessage';ASP.NETAJAX入门系列(2):使用ScriptManager控件                var errorMessageAdditional = 'Please try again.';ASP.NETAJAX入门系列(2):使用ScriptManager控件                var bodyTag = 'bodytag';ASP.NETAJAX入门系列(2):使用ScriptManager控件                function ToggleAlertDiv(visString)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件                     ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件                     }ASP.NETAJAX入门系列(2):使用ScriptManager控件                     var adiv = $get(divElem);ASP.NETAJAX入门系列(2):使用ScriptManager控件                     adiv.style.visibility = visString;ASP.NETAJAX入门系列(2):使用ScriptManager控件                }ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件                function ClearErrorState() ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件                     $get(messageElem).innerHTML = '';ASP.NETAJAX入门系列(2):使用ScriptManager控件                     ToggleAlertDiv('hidden');                     ASP.NETAJAX入门系列(2):使用ScriptManager控件                }ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件                ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件                       var errorMessage = args.get_error().messageASP.NETAJAX入门系列(2):使用ScriptManager控件                       args.set_errorHandled(true);ASP.NETAJAX入门系列(2):使用ScriptManager控件                       ToggleAlertDiv('visible');ASP.NETAJAX入门系列(2):使用ScriptManager控件                       $get(messageElem).innerHTML = '"' + ASP.NETAJAX入门系列(2):使用ScriptManager控件                                errorMessage + '" ' + errorMessageAdditional;ASP.NETAJAX入门系列(2):使用ScriptManager控件                   }ASP.NETAJAX入门系列(2):使用ScriptManager控件                }ASP.NETAJAX入门系列(2):使用ScriptManager控件            </script>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <asp:UpdatePanel runat="Server" UpdateMode="Conditional" ID="UpdatePanel1">ASP.NETAJAX入门系列(2):使用ScriptManager控件                <ContentTemplate>ASP.NETAJAX入门系列(2):使用ScriptManager控件                    <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <asp:Label ID="UpdatePanelMessage" runat="server" />ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <br />ASP.NETAJAX入门系列(2):使用ScriptManager控件                        Last update:ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <%= DateTime.Now.ToString() %>ASP.NETAJAX入门系列(2):使用ScriptManager控件                        .ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <br />ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <asp:Button runat="server" ID="Button1" Text="Submit Successful Async Postback"ASP.NETAJAX入门系列(2):使用ScriptManager控件                            OnClick="SuccessProcessClick_Handler" OnClientClick="ClearErrorState()" />ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <asp:Button runat="server" ID="Button2" Text="Submit Async Postback With Error"ASP.NETAJAX入门系列(2):使用ScriptManager控件                            OnClick="ErrorProcessClick_Handler" OnClientClick="ClearErrorState()" />ASP.NETAJAX入门系列(2):使用ScriptManager控件                        <br />ASP.NETAJAX入门系列(2):使用ScriptManager控件                    </asp:Panel>ASP.NETAJAX入门系列(2):使用ScriptManager控件                </ContentTemplate>ASP.NETAJAX入门系列(2):使用ScriptManager控件            </asp:UpdatePanel>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <div id="AlertDiv">ASP.NETAJAX入门系列(2):使用ScriptManager控件                <div id="AlertMessage">ASP.NETAJAX入门系列(2):使用ScriptManager控件                </div>ASP.NETAJAX入门系列(2):使用ScriptManager控件                <br />ASP.NETAJAX入门系列(2):使用ScriptManager控件                <div id="AlertButtons" >ASP.NETAJAX入门系列(2):使用ScriptManager控件                    <input id="OKButton" type="button" value="OK" ASP.NETAJAX入门系列(2):使用ScriptManager控件                           runat="server" onclick="ClearErrorState()" />ASP.NETAJAX入门系列(2):使用ScriptManager控件                </div>ASP.NETAJAX入门系列(2):使用ScriptManager控件           </div>ASP.NETAJAX入门系列(2):使用ScriptManager控件    </form>ASP.NETAJAX入门系列(2):使用ScriptManager控件</body>ASP.NETAJAX入门系列(2):使用ScriptManager控件</html>

运行后时界面:

ASP.NETAJAX入门系列(2):使用ScriptManager控件

发生异常信息:

ASP.NETAJAX入门系列(2):使用ScriptManager控件

 

五.Services属性

Services用来管理对WebService的调用,通过<asp:ServiceReference>标签可以在Services中注册一个WebService,在运行时ScriptManager将为每一个ServiceReference对象生成一个客户端代理,<asp:ServiceReference>标签一个很重要的属性是Path,用来指定WebService的路径,如下所示:

ASP.NETAJAX入门系列(2):使用ScriptManager控件<asp:ScriptManager ID="SM1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <Services>ASP.NETAJAX入门系列(2):使用ScriptManager控件        <asp:ServiceReference Path="Service.asmx"/>ASP.NETAJAX入门系列(2):使用ScriptManager控件    </Services>ASP.NETAJAX入门系列(2):使用ScriptManager控件</asp:ScriptManager>

看一个简单的调用WebService的例子:

WebService如下,注意在WebServiceSample上加ScriptService特性:

ASP.NETAJAX入门系列(2):使用ScriptManager控件[ScriptService]ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件public class WebServiceSample : System.Web.Services.WebService ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件    public WebServiceSample()ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        //Uncomment the following line if using designed components ASP.NETAJAX入门系列(2):使用ScriptManager控件        //InitializeComponent(); ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    public string EchoString(String s)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件}

ASPX页面:

ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<%ASP.NETAJAX入门系列(2):使用ScriptManager控件@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>ASP.NETAJAX入门系列(2):使用ScriptManager控件<html ="http://www.w3.org/1999/xhtml" >ASP.NETAJAX入门系列(2):使用ScriptManager控件<head runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <title>Untitled Page</title>ASP.NETAJAX入门系列(2):使用ScriptManager控件</head>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<script type="text/javascript" language="JavaScript">ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    function OnbuttonGo_click() ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件            document.getElementById('inputName').value,       //paramsASP.NETAJAX入门系列(2):使用ScriptManager控件            OnRequestComplete    //Complete eventASP.NETAJAX入门系列(2):使用ScriptManager控件            );ASP.NETAJAX入门系列(2):使用ScriptManager控件        return false;ASP.NETAJAX入门系列(2):使用ScriptManager控件    function OnRequestComplete(result) ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件</script>ASP.NETAJAX入门系列(2):使用ScriptManager控件<body>ASP.NETAJAX入门系列(2):使用ScriptManager控件    <form id="form1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <asp:ScriptManager ID="ScriptManager1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件        <Services>ASP.NETAJAX入门系列(2):使用ScriptManager控件            <asp:ServiceReference Path="WebServiceSample.asmx"/>ASP.NETAJAX入门系列(2):使用ScriptManager控件        </Services>ASP.NETAJAX入门系列(2):使用ScriptManager控件    </asp:ScriptManager>ASP.NETAJAX入门系列(2):使用ScriptManager控件    <div>ASP.NETAJAX入门系列(2):使用ScriptManager控件        <input type="text" id="inputName" size=20/>ASP.NETAJAX入门系列(2):使用ScriptManager控件        <input id="button" type="button" value="调 用" onclick="return OnbuttonGo_click()" /></div>ASP.NETAJAX入门系列(2):使用ScriptManager控件    </form>ASP.NETAJAX入门系列(2):使用ScriptManager控件</body>ASP.NETAJAX入门系列(2):使用ScriptManager控件</html>

运行后效果如下:

ASP.NETAJAX入门系列(2):使用ScriptManager控件

当然了也可以在运行时动态的在Services中加入ServiceReference,下面看一个运行时动态加入ServiceReference的例子:

ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<%ASP.NETAJAX入门系列(2):使用ScriptManager控件@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<script runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    void Page_Load(object sender, EventArgs e)ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        ServiceReference sr = new ServiceReference();ASP.NETAJAX入门系列(2):使用ScriptManager控件        sr.Path = "WebServiceSample.asmx";ASP.NETAJAX入门系列(2):使用ScriptManager控件        ScriptManager1.Services.Add(sr);ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件</script>ASP.NETAJAX入门系列(2):使用ScriptManager控件<html ="http://www.w3.org/1999/xhtml" >ASP.NETAJAX入门系列(2):使用ScriptManager控件<head runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <title>Untitled Page</title>ASP.NETAJAX入门系列(2):使用ScriptManager控件</head>ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件<script type="text/javascript" language="JavaScript">ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    function OnbuttonGo_click() ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        requestSimpleService = WebServiceSample.EchoString(ASP.NETAJAX入门系列(2):使用ScriptManager控件            document.getElementById('inputName').value,       //paramsASP.NETAJAX入门系列(2):使用ScriptManager控件            OnRequestComplete    //Complete eventASP.NETAJAX入门系列(2):使用ScriptManager控件            );ASP.NETAJAX入门系列(2):使用ScriptManager控件        return false;ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件 ASP.NETAJAX入门系列(2):使用ScriptManager控件    function OnRequestComplete(result) ASP.NETAJAX入门系列(2):使用ScriptManager控件ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件{ASP.NETAJAX入门系列(2):使用ScriptManager控件        alert(result);ASP.NETAJAX入门系列(2):使用ScriptManager控件    }ASP.NETAJAX入门系列(2):使用ScriptManager控件</script>ASP.NETAJAX入门系列(2):使用ScriptManager控件 ASP.NETAJAX入门系列(2):使用ScriptManager控件<body>ASP.NETAJAX入门系列(2):使用ScriptManager控件    ASP.NETAJAX入门系列(2):使用ScriptManager控件    <form id="form1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    <asp:ScriptManager ID="ScriptManager1" runat="server">ASP.NETAJAX入门系列(2):使用ScriptManager控件    </asp:ScriptManager>ASP.NETAJAX入门系列(2):使用ScriptManager控件    <div>ASP.NETAJAX入门系列(2):使用ScriptManager控件        <input type="text" id="inputName" size=20/>ASP.NETAJAX入门系列(2):使用ScriptManager控件        <input id="button" type="button" value="调 用" onclick="return OnbuttonGo_click()" /></div>ASP.NETAJAX入门系列(2):使用ScriptManager控件    </form>ASP.NETAJAX入门系列(2):使用ScriptManager控件</body>ASP.NETAJAX入门系列(2):使用ScriptManager控件</html>

可以看到运行后和在ScriptManager中直接加入的效果是一样的。

ASP.NETAJAX入门系列(2):使用ScriptManager控件

 

六.Scripts属性

关于Scripts属性到后面具体再说吧,最主要的属性有Path指定脚本的路径,ScriptMode指定客户端脚本的模式,它会覆盖ScriptManager中的ScriptMode属性,还有一个属性是IgnoreScriptPath,指定是否忽略掉ScriptManager中的ScriptPath属性。

关于ScriptManager控件就学习到这里了,至于AuthenticationService属性和ProfileService属性都很简单。示例代码下载:http://files.cnblogs.com/Terrylee/ASPNETAJAXScriptManagerDemo.rar

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ASP.NETAJAX入门系列(2):使用ScriptManager控件

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。