本文主要介绍相关 ASP.NET AJAX提供的客户端编程模型,您可能会需要为基于prototype的类派生出“子类”,那么请不要在继承链中任何一个使用基于closure的类型。

创新互联公司专注于解放网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供解放营销型网站建设,解放网站制作、解放网页设计、解放网站官网定制、小程序定制开发服务,打造解放网络公司原创品牌,更为您提供解放网站排名全网营销落地服务。
使用Closure是以前Atlas的硬伤,它大大影响了整个应用程序的性能。现在将定义类的方式变成了使用ASP.NET AJAX,这样在“表面”看上去有别于类的定义,在文档里提到了,如果是定义一个不会被派生的类,那么可以使用closure,但是我们还是应该完全使用prototype。这涉及到标准的遵循、性能和扩展性等各个方面。同样,除非真正必要,我们不应该访问一个对象里前缀是“_”的方法,它们被认作是私有成员。
“按章法出牌”能够提供更高的可维护性。Microsoft ASP.NET AJAX提供的客户端编程模型,甚至在以前Atlas中使用closure的方式来定义类的原因,不都是为了向服务器端的编程模型靠拢吗? JavaScript Extensions (Client BCL)
CTP版本包括了对于JavaScript内置对象的一系列扩展,这些会继续保留在RTM版本中。然而,它们被重新设计以避免与其它AJAX框架的潜在冲突。在RTM版本中去除了对于Array的prototype的扩展,使之变为Array类型的静态成员,它们通过被传入Array对象进行工作。#t#
在CTP版本中,存在一个基本的错误处理方式,不过它被扩展了。RTM版本谨慎地扩展了ASP.NET AJAX的prototype,从而提供了“强类型”的错误。组件开发人员尤其需要抛出错误(典型的debug脚本)。在RTM版本中,您能捕获异常,为之补充更详细的错误信息。下面的代码提供了最基本的错误处理方式的示例,演示了如果捕获错误并提供更详细的错误信息:
- functioncheckRange(index){
 - if(index>10||index<0){
 - throwError.argumentOutOfRange(“index”,index,
 - "Theindexvaluemustbebetween0and10.");
 - }
 - }
 - functionmyCallingFunction(value){
 - try{
 - checkRange(value);
 - }catch(e){
 - ee.message=e.name+“:”+e.message+“nIndexvaluewas:“+
 - e.actualValue;
 - throwe;//bubblesuptothedefaulterrortreatment
 - }
 - ...
 - }
 
一个异常被抛出后,包含错误信息的ASP.NET AJAX对象会被浏览器处理。
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号