`
lovnet
  • 浏览: 6710208 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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:ScriptManagerID="ScriptManager1"

runat
="server">

<AuthenticationServicePath=""/>

<ProfileServiceLoadProperties=""Path=""/>

<Scripts>

<asp:ScriptReference/>

</Scripts>

<Services>

<asp:ServiceReference/>

</Services>

</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示例,在页面中加入了日期控件和一个下拉框,根据下拉框选择的不同,日期控件背景变为不同的颜色。示例代码如下:

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>



<scriptrunat="server">

voidDropDownSelection_Change(Objectsender,EventArgse)

{

Calendar1.DayStyle.BackColor
=

System.Drawing.Color.FromName(ColorList.SelectedItem.Value);

}


</script>



<htmlxmlns="http://www.w3.org/1999/xhtml">

<headid="Head1"runat="server">

<title>ScriptManagerExample</title>

</head>

<body>

<formid="form1"runat="server">

<div>

<asp:ScriptManagerID="ScriptManager1"

runat
="server">

</asp:ScriptManager>

<asp:UpdatePanelID="UpdatePanel1"

runat
="server">

<ContentTemplate>

<asp:CalendarID="Calendar1"

ShowTitle
="True"

runat
="server"/>

<div>

Background:

<br/>

<asp:DropDownListID="ColorList"

AutoPostBack
="True"

OnSelectedIndexChanged
="DropDownSelection_Change"

runat
="server">

<asp:ListItemSelected="True"Value="White">

White
</asp:ListItem>

<asp:ListItemValue="Silver">

Silver
</asp:ListItem>

<asp:ListItemValue="DarkGray">

DarkGray
</asp:ListItem>

<asp:ListItemValue="Khaki">

Khaki
</asp:ListItem>

<asp:ListItemValue="DarkKhaki">D

arkKhaki
</asp:ListItem>

</asp:DropDownList>

</div>

</ContentTemplate>

</asp:UpdatePanel>

<br/>

</div>

</form>

</body>

</html>

三.客户端脚本模式

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

1Auto:它会根据Web站点的Web.config配置文件来决定使用哪一种模式,只有当配置文件中retail属性设置为false:Inherit:应该是通过程序设置ScriptMode的时候,等同于Auto?(不太了解)

<system.web>

<deploymentretail="false"/>

</system.web>

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

<%@PageLanguage="C#"Debug="true"

AutoEventWireup
="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>

2

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

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

四.错误处理

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

<%@PageLanguage="C#"%>

<scriptrunat="server">

protected
voidErrorProcessClick_Handler(objectsender,EventArgse)

{
//Thishandlerdemonstratesanerrorcondition.Inthisexample

//theservererrorgetsinterceptedontheclientandanalertisshown.

thrownewArgumentException();
}


protected
voidSuccessProcessClick_Handler(objectsender,EventArgse)

{
//Thishandlerdemonstratesnoserversideexception.

UpdatePanelMessage.Text
="Theasynchronouspostbackcompletedsuccessfully.";

}


protected
voidScriptManager1_AsyncPostBackError(objectsender,AsyncPostBackErrorEventArgse)

{
ScriptManager1.AsyncPostBackErrorMessage
="异常信息为:"+e.Exception.Message;

}


</script>


<htmlxmlns="http://www.w3.org/1999/xhtml">

<headid="Head1"runat="server">

<title>PageRequestManagerendRequestEventArgsExample</title>

<styletype="text/css">

body
{}{

font-family
:Tahoma;

}


#AlertDiv
{}{

left
:40%;top:40%;

position
:absolute;width:200px;

padding
:12px;

border
:#0000001pxsolid;

background-color
:white;

http://www.cnblogs.com/Images/OutliningIndicators/
分享到:
评论

相关推荐

    ASP[1].NET_AJAX入门系列:使用ScriptManager控件

    ASP[1].NET_AJAX入门系列:使用ScriptManager控件.doc

    ASP.NET_AJAX入门系列

    ASP.NET_AJAX入门系列:使用ScriptManager控件.doc ASP.NET_AJAX入门系列:使用UpdatePanel控件.doc ASP.NET_AJAX入门系列:使用客户端脚本对UpdateProgress编程.doc ASP.NET_AJAX入门系列:在多个UpdatePanle中使用...

    ASP.NET AJAX

    ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件 导读:在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-Page和Content-Page中需要引入不同...

    ASP.NET AJAX核心控件示例

    主要介绍了ASP.NET AJAX的几个核心控件的作用和具体用法示例。 包括:Scriptmanager,Updatepanal,Updateprogress,Timer

    ASP.NET AJAX实战源码

    4.1 ASP.NET开发人员的Ajax 86 4.2 改进原有ASP.NET网站 87 4.2.1 一个示例ASP.NET网站 88 4.2.2 配置现有的ASP.NET网站 88 4.3 ScriptManager: Ajax页面的大脑 90 4.3.1 理解ScriptManager 90 4.3.2 部署...

    ASP.NET-AJAX教程.rar

    ASP.NET AJAX教程 第一章:ajax概述 第七章:使用客户端脚本对UpdateProgress编 第二章:使用ScriptManager 第八章:自定义异常处理 第三章:使用ScriptManagerProxy控件 第九章:在母版页中使用UpdatePanel 第四...

    ASP.NET AJAX 入门教程

    包括了核心AJAX类型系统,网络协议层(networking stack),组件模型,扩展器(extender)基类,以及与ASP.NET集成的服务器端功能(包括广受欢迎的ScriptManager,UpdatePanel,和 Timer控件)。

    完全手册:ASP.net Ajax电子教程(9-15章)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    完全手册:ASP.net Ajax电子教程(1-8章)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    ASP.NET AJAX重要的基本五控件

    ASP.NET AJAX(ScriptManager,ScriptManagerProxy,UpdatePanel,UpdateProgress,Timer),文档及单个AJAX控件的使用方法示例等

    完全手册ASP.NETAjax实用开发详解(14-15)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    [ASP.NET.AJAX编程参考手册(涵盖ASP.NET.3.5及2.0)].(美)霍斯拉维.扫描版.pdf

    中文名: ASP.NET AJAX编程参考手册(涵盖ASP.NET 3.5及2.0) 原名: ASP.NET AJAX Programmer's Reference 作者: (美)霍斯拉维 译者: 刘志忠 图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 清华大学出版社 书号...

    ASP.NET Ajax框架教程

    应用场景代码示例(1)ScriptManager控件示例(2)UpdatePanel控件示例(3)UpdateProgress控件示例(4) Timer控件示例(5) Ajax中新Validators控件用法示例。。。。。。等,教程是基础是郑健老师的。。。内附有...

    完全手册ASP.NETAjax实用开发详解(1-6)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    完全手册ASP.NETAjax实用开发详解(12-13)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    完全手册ASP.NETAjax实用开发详解(7-8)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    Asp.net+Ajax框架教程 文档+源码

    1).ScriptManager控件示例... 1. 在异步调用服务端注册客户端脚本新方法... 2. 捕获Ajax异步调用中错误(默认使用alert提示). 3. 捕获Ajax异步调用中错误(自定义输出错误方式) 2).UpdatePanel控件示例... 4....

    完全手册ASPNETAjax 实用开发详解(9-11)

    第一篇 ASP.NET AJAX概述 第1章 初识ASP.NET AJAX  1.1 ASP.NET AJAX概述  1.1.1 ASP.NET和ASP.AJAX  1.1.2 ASP.AJAX服务器端架构  1.1.3 ASP.AJAX客户端架构  1.2 搭建ASP.NET AJAX开发环境  1.3 第一个ASP...

    ASP.NET AJAX 1.0 RC开发10分钟图解

    开发环境:VS2005+ASP.NET AJAX 1.0 RC ...2.可以看到左侧工具箱多了一个AJAX Extensions,下面包括Timer,ScriptManager,ScriptManagerProxy,UpdateProgress,UpdatePanel等几个控件,右侧的代码视图,可以看到

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    14.3.1 ScriptManager控件 14.3.2 ScriptManagerProxy控件 14.3.3 UpdatePanel控件 14.3.4 UpdateProgress控件 14.3.5 Timer控件 14.4 本章小结 实践篇 第15章 个人网站初学者工具包 15.1 个人网站初学者...

Global site tag (gtag.js) - Google Analytics