您的位置:首页 > 其它

微软AJAX 教学系列第一讲:ScriptManager控件

2008-05-20 11:04 134 查看
本文是翻译 http://www.asp.net/上推出了最新的AJAX系列教程.由于本人第一次进行翻译,有翻译不准,不正确的地方,望大家批评指正 .

笑Q

在上一篇文章中.我们通过简单小例子介绍了页面的局部刷新.在这篇文章中.我们介绍下MicroSoft AJAX最重要控件之一的ScriptMananger的相关属性和方法

1.客户端的相关属性

属性 类型描述
AllowCustomeErrorsRedirect Bool 定义是否使用webconfig中自定义的错误处理
AsyncPostBackErrorMessageString定义当error发生的时候在客户端呈现的错误信息
AsyncPostBackTimeOutInt32获取或设置一个值,该值指示在未收到响应时异步回发超时前的时间(以秒为单位)。
EnableScriptGlobalizationBool获取或设置一个值,该值指示 ScriptManager 控件是否呈现支持分析区域性特定的信息并设置其格式的脚本。
EnableScriptLocalization Bool获取或设置一个值,该值指示 ScriptManager 控件是否呈现脚本文件的本地化版本。
ScriptLoadTimeoutInt32定义装在客户端脚本的最大时间.
ScriptModeEnum (Auto, Debug, Release, Inherit)获取或设置一个值,以指定是呈现客户端脚本库的调试版本还是发布版本。
ScriptPathString获取或设置位置的根路径,该位置用来建立指向 ASP.NET AJAX 和自定义脚本文件的路径。
2):后台的相关属性


属性 类型描述
AuthenticationServiceAuthenticationService-Manager获取与当前 ScriptManager 实例关联的 AuthenticationServiceManager 对象。
IsDebuggingEnabledBool获取一个指示是否呈现客户端脚本库的调试版本的值
IsInAsyncPostbackBool获取一个指示是否在部分呈现模式下执行当前回发的值。
ProfileServiceProfileServiceManager获取与当前 ScriptManager 实例关联的 ProfileServiceManager 对象。
ScriptsCollection<ScriptReference>获取一个包含 ScriptReference 对象(每个对象代表一个呈现给客户端的脚本文件)的 ScriptReferenceCollection 对象。
ServicesCollection<ServiceReference>获取一个 ServiceReferenceCollection 对象,该对象包含 ASP.NET 在客户端上针对 AJAX 功能而公开的每个 Web 服务的 ServiceReference 对象。
SupportsPartialRenderingBool获取一个指示客户端是否支持部分页面呈现的值。
3)scriptManager的相关方法
NameType描述
SetFocus(string)Void请求结束时,将浏览器焦点设置为指定控件。
4)ScriptManager的子项
标签描述
<AuthenticationService>提供 ASP.NET authentication service.的详细实例
<ProfileService>提供 ASP.NET profiling service.的详细实例
<Scripts>提供额外的Script脚本引用
<asp:ScriptReference>指定特别的Script脚本引用
<Service>获取一个 ServiceReferenceCollection 对象,该对象包含 ASP.NET 在客户端上针对 AJAX 功能而公开的每个 Web 服务的 ServiceReference 对象。
<asp:ServiceReference>
ScriptManager控件是ASP.NET AJAX Extensions的核心.它提供了访问脚本库(包括其他扩展的脚本类型系统)的访问能力.它支持网页的部分呈现功能,同时也提供了对其他ASP.NET WebService(像Authentication ,Profiling,其他WebServices)的支持. 另外.ScriptManager控件支持就客户端脚本全球化和本地化的支持.

提供可以选择和追加的脚本

尽管ASP.NET 2.0 AJAX Extensions 在调试和发行的版本中包含整个脚本代码. 开发者可以像注册其他的脚本一样自由的设置自定义的脚本文件.

为了重载默认的内置脚本.你可以在ScriptManager类中通过注册 ResolveScriptReference 事件来实现.当这个方法被调用的时候.事件处理器就会自动的改变Script的路径,ScriptManager 就会发送不同的或者你自定义的脚本的副本到客户端/

UpdatePanels的自定义错误处理

尽管更新是由UpdatePanel 控件触发的.但是错误的处理和自定义错误信息还是通过ScriptManager控件来处理的.这个是通过页面上的AsyncPostBackError来呈现异常处理逻辑的.你可以通过AsyncPostBackErrorMessage属性来设置显示的错误信息.

当然你可以通过客户端的自定义错误处理机制.

例如:Listing 5: Client-side script to display custom errors


<script type=”text/javascript”>

    <!--

Sys.WebForms.PageRequestManager.getInstance().add_EndRequest( Request_End);

function Request_End(sender, args)

//--> 

</script>

方法相当简单.上面的script脚本注册了在异步调用结束时的回调.它会检查是否有错误发生.如果有,获取错误的详细信息并通知runtime错误已经被自定义脚本处理.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: