惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
博客园 - 叶小钗
AI
AI
T
Tor Project blog
Forbes - Security
Forbes - Security
W
WeLiveSecurity
博客园_首页
爱范儿
爱范儿
J
Java Code Geeks
B
Blog
G
GRAHAM CLULEY
aimingoo的专栏
aimingoo的专栏
Cloudbric
Cloudbric
C
CXSECURITY Database RSS Feed - CXSecurity.com
TaoSecurity Blog
TaoSecurity Blog
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
H
Help Net Security
博客园 - 三生石上(FineUI控件)
C
Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 司徒正美
The Last Watchdog
The Last Watchdog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
S
Secure Thoughts
Spread Privacy
Spread Privacy
F
Fortinet All Blogs
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
Security Latest
Security Latest
Webroot Blog
Webroot Blog
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog

博客园 - 陋室

成功与一截树枝 sql 操作全集-整理收藏 JavaScript使用技巧精萃(转载) ASP.NET 中在指定的位置处插入字符 提示按下大写键的控件:MQTool(提供下载) 如何在mail的正文显示图片 NET设计模式之一:装饰模式(Decorator Pattern) 微软AJAX 教学系列第一讲:局部刷新Partial Page Updates(翻译) 李开复:21世纪最需要的7种人才 Building a File Service 超卓越的你_读完后让你恢复自信 how to write professional business letters? 到底什么是托管,什么是非托管的研究 数据库设计中的五个范式(本文转载,收藏下) 如何直接用XML做数据源? ASP.NET程序的优化建议<转> ASP.NET部署与安装_MSI制作图文教程. 在打包的时候,创建应用程序池,并自动将程序assign到新创建的池中(MSI制作) Understand SQL Cache Notifications
微软AJAX 教学系列第一讲:ScriptManager控件
陋室 · 2008-05-20 · via 博客园 - 陋室

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

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

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

 2):后台的相关属性

 属性         类型 描述
AuthenticationService AuthenticationService-Manager 获取与当前 ScriptManager 实例关联的 AuthenticationServiceManager 对象。
IsDebuggingEnabled Bool 获取一个指示是否呈现客户端脚本库的调试版本的值
IsInAsyncPostback Bool 获取一个指示是否在部分呈现模式下执行当前回发的值。
ProfileService ProfileServiceManager 获取与当前 ScriptManager 实例关联的 ProfileServiceManager 对象。
Scripts Collection<ScriptReference> 获取一个包含 ScriptReference 对象(每个对象代表一个呈现给客户端的脚本文件)的 ScriptReferenceCollection 对象。
Services Collection<ServiceReference> 获取一个 ServiceReferenceCollection 对象,该对象包含 ASP.NET 在客户端上针对 AJAX 功能而公开的每个 Web 服务的 ServiceReference 对象。
SupportsPartialRendering Bool 获取一个指示客户端是否支持部分页面呈现的值。
  

  3)scriptManager的相关方法

Name Type 描述
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) 
        

            
if (args.get_error() !=
 undefined) 
                

                    
var errorMessage =
 “”; 
                    
if (args.get_response().get_statusCode() == “200
”)
                    
{
                        errorMessage 
=
 args.get_error().message; 
                    }
 
                    
else
 
                    

                            
// the server wasn’t the problem errorMessage = “An unknown error occurred”; 

                    }
 
                    
// do something with the errorMessage here. 

                    // now make sure the system knows we handled the error.
                    args.set_errorHandled(true); 
                }
 
        }
 
        
//--> 

</script>

    方法相当简单.上面的script脚本注册了在异步调用结束时的回调.它会检查是否有错误发生.如果有,获取错误的详细信息并通知runtime错误已经被自定义脚本处理.