金华市驾驶证预约网址:ScriptManager控件

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 07:07:27
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,还可以指定页面错误处理等。

  使用来定义一个ScriptManager,简单的ScriptManager定义形式:
ScriptManager属性和方法如下:

  二.一个简单的示例

  这个例子其实是UpdatePanel示例,在页面中加入了日期控件和一个下拉框,根据下拉框选择的不同,日期控件背景变为不同的颜色。示例代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>ScriptManager Example
Background:
White Silver Dark Gray Khaki Dark Khaki

文本Tag: 微软 sql
<%@ Page Language="C#" %>PageRequestManager endRequestEventArgs Example

Last update:<%= DateTime.Now.ToString() %>.


  三.客户端脚本模式

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

  1.Auto:它会根据Web站点的Web.config配置文件来决定使用哪一种模式,只有当配置文件中retail属性设置为false:
  或者页面中的Debug指令设为true的时候会使用Debug版本,其他的情况都会使用Release版本。
<%@ Page Language="C#" Debug="true"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中的配置区。下面看一个简单的错误处理例子,在AsyncPostBackError事件中捕获到异常信息并设置AsyncPostBackErrorMessage属性。
 运行后时界面:
 
  发生异常信息:

  五.Services属性

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

  WebService如下,注意在WebServiceSample上加ScriptService特性:
[ScriptService]public class WebServiceSample : System.Web.Services.WebService {public WebServiceSample(){//Uncomment the following line if using designed components//InitializeComponent();}[WebMethod]public string EchoString(String s){return "Hello " + s;}}
  ASPX页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>Untitled Page
运行后效果如下:

  当然了也可以在运行时动态的在Services中加入ServiceReference,下面看一个运行时动态加入ServiceReference的例子:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>Untitled Page
可以看到运行后和在ScriptManager中直接加入的效果是一样的。

  六.Scripts属性

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

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