使用ScriptManager控件(asp.net 2.0 ajax)

本文介绍了ASP.NET AJAX Extensions中的ScriptManager控件的作用及其使用方法。此控件负责处理页面上的组件及局部更新,并生成客户端脚本,使得可以通过JavaScript访问WebService。文章还提供了一个结合UpdatePanel使用的示例。

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定义形式:

None.gif<asp:ScriptManager ID="ScriptManager1" 
None.gif
None.gif                   runat
="server">
None.gif
None.gif      
<AuthenticationService Path="" />
None.gif
None.gif      
<ProfileService LoadProperties="" Path="" />
None.gif
ExpandedBlockStart.gifContractedBlock.gif      
<Scripts>dot.gif
InBlock.gif
InBlock.gif        
<asp:ScriptReference/>
InBlock.gif
ExpandedBlockEnd.gif      
</Scripts>
None.gif
None.gif      
<Services>
None.gif
None.gif        
<asp:ServiceReference />
None.gif
None.gif      
</Services>
None.gif
None.gif
</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示例,在页面中加入了日期控件和一个下拉框,根据下拉框选择的不同,日期控件背景变为不同的颜色。示例代码如下:

ExpandedBlockStart.gifContractedBlock.gif<%dot.gif@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
None.gif
None.gif 
None.gif
ExpandedBlockStart.gifContractedBlock.gif
<script runat="server">dot.gif
InBlock.gif
InBlock.gif    
void DropDownSelection_Change(Object sender, EventArgs e)
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif
InBlock.gif        Calendar1.DayStyle.BackColor 
=
InBlock.gif
InBlock.gif            System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
InBlock.gif
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif
None.gif
</script>
None.gif
None.gif 
None.gif
None.gif
<html xmlns="http://www.w3.org/1999/xhtml">
None.gif
None.gif
<head id="Head1" runat="server">
None.gif
None.gif    
<title>ScriptManager Example</title>
None.gif
None.gif
</head>
None.gif
None.gif
<body>
None.gif
None.gif    
<form id="form1" runat="server">
None.gif
None.gif        
<div>
None.gif
None.gif            
<asp:ScriptManager ID="ScriptManager1" 
None.gif
None.gif                               runat
="server">
None.gif
None.gif            
</asp:ScriptManager>
None.gif
None.gif            
<asp:UpdatePanel ID="UpdatePanel1"
None.gif
None.gif                             runat
="server">
None.gif
None.gif                
<ContentTemplate>
None.gif
None.gif                    
<asp:Calendar ID="Calendar1" 
None.gif
None.gif                                  ShowTitle
="True"
None.gif
None.gif                                  runat
="server" />
None.gif
None.gif                    
<div>
None.gif
None.gif                        Background:
None.gif
None.gif                        
<br />
None.gif
None.gif                        
<asp:DropDownList ID="ColorList" 
None.gif
None.gif                                          AutoPostBack
="True" 
None.gif
None.gif                                          OnSelectedIndexChanged
="DropDownSelection_Change"
None.gif
None.gif                                          runat
="server">
None.gif
None.gif                            
<asp:ListItem Selected="True" Value="White"> 
None.gif
None.gif                            White 
</asp:ListItem>
None.gif
None.gif                            
<asp:ListItem Value="Silver"> 
None.gif
None.gif                            Silver 
</asp:ListItem>
None.gif
None.gif                            
<asp:ListItem Value="DarkGray"> 
None.gif
None.gif                            Dark Gray 
</asp:ListItem>
None.gif
None.gif                            
<asp:ListItem Value="Khaki"> 
None.gif
None.gif                            Khaki 
</asp:ListItem>
None.gif
None.gif                            
<asp:ListItem Value="DarkKhaki"> D
None.gif
None.gif                            ark Khaki 
</asp:ListItem>
None.gif
None.gif                        
</asp:DropDownList>
None.gif
None.gif                    
</div>
None.gif
None.gif                
</ContentTemplate>
None.gif
None.gif            
</asp:UpdatePanel>
None.gif
None.gif            
<br />
None.gif
None.gif        
</div>
None.gif
None.gif    
</form>
None.gif
None.gif
</body
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值