`
isiqi
  • 浏览: 15948246 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

阅读更多
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定义形式:

属性和方法如下:

属性/方法
描述
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示例,在页面中加入了日期控件和一个下拉框,根据下拉框选择的不同,日期控件背景变为不同的颜色。示例代码如下:
<%@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发送到客户端的脚本的模式,它有四种模式:Auto,Inherit,Debug,Release,默认值为Auto。
1.Auto:它会根据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
3.Debug:客户端脚本使用Debug版本,除非retail属性设为true。
4.Release:客户端脚本使用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;

text-align
:left;

visibility
:hidden;

z-index
:99;

}


#AlertButtons
{}{

position
:absolute;

right
:5%;

bottom
:5%;

}


</style>

</head>

<bodyid="bodytag">

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

<div>

<asp:ScriptManagerID="ScriptManager1"runat="server"
OnAsyncPostBackError
="ScriptManager1_AsyncPostBackError">

</asp:ScriptManager>

<scripttype="text/javascript"language="javascript">

varcolor: #000000; background-col
分享到:
评论

相关推荐

    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