ASP.NET AJAX入门系列:使用ScriptManager控件

摘要:
主要内容1。控制概述2。一个简单的例子3。客户端脚本模式4。错误处理5。服务属性6。脚本属性1。控件概述ScriptManager控件包含在ASP。NET 2.0 AJAX扩展,它用于处理页面上的所有组件和页面的本地更新,并生成相关的客户端代理脚本以访问JavaScript中的Web服务。所有需要支持ASP.NET AJAX的ASP.NET页面都有并且只能有一个ScriptManager控件。在ScriptManager控件中,我们可以指定所需的脚本库,或者指定要通过JS调用的WebService,还可以指定页面错误处理。

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

主要内容

1.控件概述

2.一个简单的示例

3.客户端脚本模式

4.错误处理

5Services属性

6Scripts属性

一.控件概述

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

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


ASP.NET AJAX入门系列:使用ScriptManager控件第1张<asp:ScriptManager ID="ScriptManager1" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                   runat
="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张      
<AuthenticationService Path="" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张      
<ProfileService LoadProperties="" Path="" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张      
<Scripts>ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
<asp:ScriptReference/>
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第15张      
</Scripts>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张      
<Services>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<asp:ServiceReference />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张      
</Services>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</asp:ScriptManager>
ScriptManager属性和方法如下:

属性/方法

描述

AllowCustomError

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

AsyncPostBackErrorMessage

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

AsyncPostBackTimeout

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

EnablePartialRendering

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

ScriptMode

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

ScriptPath

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

OnAsyncPostBackError

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

OnResolveScriptReference

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

二.一个简单的示例

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


ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张<%ASP.NET AJAX入门系列:使用ScriptManager控件第11张@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张
<script runat="server">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
void DropDownSelection_Change(Object sender, EventArgs e)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        Calendar1.DayStyle.BackColor 
=
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张            System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第15张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</script>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<html xmlns="http://www.w3.org/1999/xhtml">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<head id="Head1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<title>ScriptManager Example</title>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</head>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<form id="form1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<asp:ScriptManager ID="ScriptManager1" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                               runat
="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
</asp:ScriptManager>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<asp:UpdatePanel ID="UpdatePanel1"
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                             runat
="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
<ContentTemplate>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                    
<asp:Calendar ID="Calendar1" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                                  ShowTitle
="True"
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                                  runat
="server" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                    
<div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        Background:
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<br />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<asp:DropDownList ID="ColorList" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                                          AutoPostBack
="True" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                                          OnSelectedIndexChanged
="DropDownSelection_Change"
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                                          runat
="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            
<asp:ListItem Selected="True" Value="White"> 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            White 
</asp:ListItem>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            
<asp:ListItem Value="Silver"> 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            Silver 
</asp:ListItem>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            
<asp:ListItem Value="DarkGray"> 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            Dark Gray 
</asp:ListItem>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            
<asp:ListItem Value="Khaki"> 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            Khaki 
</asp:ListItem>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            
<asp:ListItem Value="DarkKhaki"> D
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            ark Khaki 
</asp:ListItem>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
</asp:DropDownList>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                    
</div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
</ContentTemplate>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
</asp:UpdatePanel>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<br />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
</div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</form>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</html>

三.客户端脚本模式

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

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

ASP.NET AJAX入门系列:使用ScriptManager控件第1张<system.web>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张  
<deployment retail="false" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</system.web>

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

ASP.NET AJAX入门系列:使用ScriptManager控件第1张<%@ Page Language="C#" Debug="true"
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张AutoEventWireup
="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

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

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

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

四.错误处理

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

ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张<%ASP.NET AJAX入门系列:使用ScriptManager控件第11张@ Page Language="C#" %>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张
<script runat="server">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    protected 
void ErrorProcessClick_Handler(object sender, EventArgs e)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
// This handler demonstrates an error condition. In this example
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
// the server error gets intercepted on the client and an alert is shown. 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
throw new ArgumentException();
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    protected 
void SuccessProcessClick_Handler(object sender, EventArgs e)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
// This handler demonstrates no server side exception.
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张        UpdatePanelMessage.Text 
= "The asynchronous postback completed successfully.";
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    protected 
void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        ScriptManager1.AsyncPostBackErrorMessage 
= "异常信息为:" + e.Exception.Message;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第15张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</script>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<html xmlns="http://www.w3.org/1999/xhtml">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<head id="Head1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<title>PageRequestManager endRequestEventArgs Example</title>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张    
<style type="text/css">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    body 
{ASP.NET AJAX入门系列:使用ScriptManager控件第11张}{}{ASP.NET AJAX入门系列:使用ScriptManager控件第11张}{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        font-family
: Tahoma;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    
}

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    #AlertDiv
{ASP.NET AJAX入门系列:使用ScriptManager控件第11张}{}{ASP.NET AJAX入门系列:使用ScriptManager控件第11张}{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    left
: 40%; top: 40%;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    position
: absolute; width: 200px;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    padding
: 12px; 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    border
: #000000 1px solid;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    background-color
: white; 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    text-align
: left;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    visibility
: hidden;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    z-index
: 99;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    
}

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    #AlertButtons
{ASP.NET AJAX入门系列:使用ScriptManager控件第11张}{}{ASP.NET AJAX入门系列:使用ScriptManager控件第11张}{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    position
: absolute;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    right
: 5%;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    bottom
: 5%;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    
}

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第15张    
</style>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</head>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<body id="bodytag">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<form id="form1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<asp:ScriptManager ID="ScriptManager1" runat="server" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            OnAsyncPostBackError
="ScriptManager1_AsyncPostBackError">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
</asp:ScriptManager>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张 
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张            
<script type="text/javascript" language="javascript">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                
var divElem = 'AlertDiv';
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                
var messageElem = 'AlertMessage';
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                
var errorMessageAdditional = 'Please try again.';
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                
var bodyTag = 'bodytag';
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                
function ToggleAlertDiv(visString)
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张                
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                     
if (visString == 'hidden')
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张                     
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                         $get(bodyTag).style.backgroundColor 
= 'white';                         
ASP.NET AJAX入门系列:使用ScriptManager控件第44张                     }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张                     
else
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张                     
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                         $get(bodyTag).style.backgroundColor 
= 'gray';                         
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张                     }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                     
var adiv = $get(divElem);
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                     adiv.style.visibility 
= visString;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张                }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张                
function ClearErrorState() ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                     $get(messageElem).innerHTML 
= '';
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                     ToggleAlertDiv('hidden');                     
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张                }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张                
function EndRequestHandler(sender, args)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张                
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                   
if (args.get_error() != undefined && args.get_error().httpStatusCode == '500')
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张                   
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                       
var errorMessage = args.get_error().message
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                       args.set_errorHandled(
true);
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                       ToggleAlertDiv('visible');
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                       $get(messageElem).innerHTML 
= '"' + 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张                                errorMessage + '
" ' + errorMessageAdditional;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张                   }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张                }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第15张            
</script>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<asp:UpdatePanel runat="Server" UpdateMode="Conditional" ID="UpdatePanel1">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
<ContentTemplate>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                    
<asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<asp:Label ID="UpdatePanelMessage" runat="server" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<br />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        Last update:
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<%= DateTime.Now.ToString() %>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        .
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<br />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<asp:Button runat="server" ID="Button1" Text="Submit Successful Async Postback"
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            OnClick
="SuccessProcessClick_Handler" OnClientClick="ClearErrorState()" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<asp:Button runat="server" ID="Button2" Text="Submit Async Postback With Error"
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                            OnClick
="ErrorProcessClick_Handler" OnClientClick="ClearErrorState()" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                        
<br />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                    
</asp:Panel>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
</ContentTemplate>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
</asp:UpdatePanel>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<div id="AlertDiv">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
<div id="AlertMessage">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
</div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
<br />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
<div id="AlertButtons" >
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                    
<input id="OKButton" type="button" value="OK" 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                           runat
="server" onclick="ClearErrorState()" />
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张                
</div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张           
</div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</form>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</html>

运行后时界面:

ASP.NET AJAX入门系列:使用ScriptManager控件第384张

发生异常信息:

ASP.NET AJAX入门系列:使用ScriptManager控件第385张

五.Services属性

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

ASP.NET AJAX入门系列:使用ScriptManager控件第1张<asp:ScriptManager ID="SM1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<Services>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<asp:ServiceReference Path="Service.asmx"/>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</Services>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</asp:ScriptManager>

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

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

ASP.NET AJAX入门系列:使用ScriptManager控件第1张[ScriptService]
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张
public class WebServiceSample : System.Web.Services.WebService ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
public WebServiceSample()
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
//Uncomment the following line if using designed components 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
//InitializeComponent(); 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    [WebMethod]
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
public string EchoString(String s)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
return "Hello " + s;
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第15张}

ASPX页面:

ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张<%ASP.NET AJAX入门系列:使用ScriptManager控件第11张@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<html xmlns="http://www.w3.org/1999/xhtml" >
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<head runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<title>Untitled Page</title>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</head>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张
<script type="text/javascript" language="JavaScript">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
function OnbuttonGo_click() 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        requestSimpleService 
= WebServiceSample.EchoString(
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张            document.getElementById('inputName').value,       
//params
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张            OnRequestComplete    
//Complete event
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张            );
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
return false;
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
function<,SPAN style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> OnRequestComplete(result) 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        alert(result);
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第15张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</script>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<form id="form1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<asp:ScriptManager ID="ScriptManager1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<Services>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张            
<asp:ServiceReference Path="WebServiceSample.asmx"/>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
</Services>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</asp:ScriptManager>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<input type="text" id="inputName" size=20/>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<input id="button" type="button" value="调 用" onclick="return OnbuttonGo_click()" /></div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</form>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</html>

运行后效果如下:

ASP.NET AJAX入门系列:使用ScriptManager控件第492张

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

ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张<%ASP.NET AJAX入门系列:使用ScriptManager控件第11张@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张
<script runat="server">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
void Page_Load(object sender, EventArgs e)
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        ServiceReference sr 
= new ServiceReference();
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        sr.Path 
= "WebServiceSample.asmx";
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        ScriptManager1.Services.Add(sr);
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第15张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</script>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<html xmlns="http://www.w3.org/1999/xhtml" >
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<head runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<title>Untitled Page</title>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</head>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第9张ASP.NET AJAX入门系列:使用ScriptManager控件第10张
<script type="text/javascript" language="JavaScript">ASP.NET AJAX入门系列:使用ScriptManager控件第11张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
function OnbuttonGo_click() 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        requestSimpleService 
= WebServiceSample.EchoString(
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张            document.getElementById('inputName').value,       
//params
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张            OnRequestComplete    
//Complete event
ASP.NET AJAX入门系列:使用ScriptManager控件第12张

ASP.NET AJAX入门系列:使用ScriptManager控件第12张            );
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        
return false;
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张    
function OnRequestComplete(result) 
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第36张ASP.NET AJAX入门系列:使用ScriptManager控件第37张    
ASP.NET AJAX入门系列:使用ScriptManager控件第11张{
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第12张        alert(result);
ASP.NET AJAX入门系列:使用ScriptManager控件第12张
ASP.NET AJAX入门系列:使用ScriptManager控件第44张    }

ASP.NET AJAX入门系列:使用ScriptManager控件第15张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</script>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张 
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
<body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<form id="form1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<asp:ScriptManager ID="ScriptManager1" runat="server">
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</asp:ScriptManager>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
<div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<input type="text" id="inputName" size=20/>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张        
<input id="button" type="button" value="调 用" onclick="return OnbuttonGo_click()" /></div>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张    
</form>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</body>
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
ASP.NET AJAX入门系列:使用ScriptManager控件第1张
</html>

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

ASP.NET AJAX入门系列:使用ScriptManager控件第492张

六.Scripts属性

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

关于ScriptManager控件就学习到这里了,至于AuthenticationService属性和ProfileService属性都很简单。

免责声明:文章转载自《ASP.NET AJAX入门系列:使用ScriptManager控件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇无废话ExtJs 入门教程十六[页面布局:Layout]windows批处理学习---01下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Asp.Net 之 基本控件FileUpload上传控件

1、前台代码: <asp:FileUpload ID="FileUpload" runat="server" /> <asp:Button ID="BtnUp" runat="server" onclick="BtnUp_Click" Text="上 传" /> <asp:Label ID="LabMsg" runat...

GridView嵌套实现

  GridView嵌套实现 效果图: 技术实现: 前台: <%@PageLanguage="C#"AutoEventWireup="true" CodeFile="Default.aspx.cs"Inherits="_Default"%> <!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transit...

ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别

表单form的提交有两种方式,一种是get的方法,一种是post 的方法.看下面代码,理解ASP.NET Get和Post两种提交的区别:   代码 view plaincopy to clipboardprint?< form id="form1" method="get" runat="server"> < div>...

[置顶] Gridview中textbox列,按回车键或者上下键自动下移

1.aspx代码,因为textbox的外面又一层table所以用到了很多children[],希望有更好的办法,真实例子粘过去就能运行 <script src="http://t.zoukankan.com/jquery-1.4.2.min.js" type="text/javascript"></script> <scrip...

asp.net(C#) 编码解码(HtmlEncode与HtmlEncode)

Default.aspx <%@PageValidateRequest="false"Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="test_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Tr...

Win10安装IIS并配置ASP.NET 4.0

这几天新购置了电脑家用,自家电脑上上了win10+Ubuntu。解决了双系统的一些坑之后,今天准备给win10装IDE了(虽然想在Ubuntu下搞搞React/Python之类的,但我骨子里还是个.Net程序猿)。装完VS、SQLServer、IIS、MVC3、MVC4,搞定后搞个项目试试,结果发现IIS应用程序池下没有.net 4.0,对于一个.Net程...