[ASP.NET AJAX]类似.NET框架的JavaScript扩展

简介:

最近AJAX风靡全世界,在CommunityServer中他运用了自己定义的封装了js,并且可以跨浏览器,在较小的应用程序中,他比较适合,而且使用也比较简单。但是对微软的Microsoft AJAX还是一点不了解的我,从今天开始也要进入学习,一步一步的去了解,慢慢的深入。在博客园里也看了一些文章,但是他们大都是说AJAXExtendControl的,我想从脚本入手来学习一下Microsoft Ajax,顺便也对脚本进行复习一遍,岂不是一举两得。从原文件中我们可以看到Microsoft Asp.net Ajax是一个很强大,而且很适合C#开发人员扩展的脚本库。在Microsoft Asp.net Ajax脚本库中添加了一个Type及System来对JavaScript对象的扩展。其中扩展并形成类似.NET中常见的命名空间(namespaces),抽象类(inheritance)(注:我是这么认为的,不知道有没有更好的说法),接口(interfaces),枚举(enumerations),以及对象反射(reflection),同时也对(字符串)strings,(数组)arrays进行了扩展。这让我们这些.NET的开发人员,特别是C#开发人员更好,更有效的对脚本的扩展。

  要达到将普通的JavaScript封装成类似.NET的框架,Type可谓是功不可没阿,通过Type中的一些方法可以将我们的脚本注册到一个类,将一个类注册到一个命名空间中等等。下面我们将会对前面几个对应的类似.NET框架的Microsoft Ajax脚本库进行逐个的介绍。

  1.Namespaces

  是一个逻辑分类(个人虚构,如有雷同纯属巧合),及时将很多个类(classes)进行分类,通过Type.registerNamesapce方法可以将一个class(一下称为"类",虽然它不象话,但总的给个说法吧!)注册到一个namespace(以下成为"命名空间")中。

  2.Classes

  引用Type,所有的类都继承自JavaScript的object(在.NET中所有的类也是继承自Object),通过Type.registerClass将一个对象注册到类中。由于应用一个面向对象的模型,在Microsoft AJAX 脚本库中也能够实现继承基类的对象实例。一个类可以包含四个成员:fields, properties, methods, and events。
  
  fields:可以通过应用当前类的实例对象来引用如myClass.name="MyName";

  properties:通过带有get和set标记的方法对其进行付值,在Asp.net Ajax中通过"get_"和"set_"与方法名称结合来给他付值,如果要对一个叫myname的属性付值,可以通过get_myname和set_myname方法来完成此项任务。

  methods:方法也就是函数,这里对不多说了。

  events:事件主要涉及到一些行为动作,当一个事件被挂起(激活)时,将调用一个或多个从handlers继承的方法来处理这个事件。
  
  3. Inheritances

  众所周知虚函数是要被重写的,大多数面向对象的编程语言都支持类的继承和重写,但是JavaScript是不支持这项功能的。但是在Asp.net Ajax中通过特殊的方式(以"_"为起始标记的方法将被视为私有方法,将不能在外部类中执行此方法)实现了这种重写的功能,将会更好的对脚本库进行扩展。

  4.Inheritances

  每一个类都可以继承自另一个基类,当一个类继承基类时此类将加载基类中的方法,属性,事件等,同时可以重写基类中的方法,事件等或直接调用基类中方法等,Asp.Net Ajax中也实现了这项功能。

  5.Interfaces

  接口知识一种约定,并没有实现方法,同样在Asp.Net Ajax中也有接口,其实就是定义一个空函数。

  6.Enumerations

  通过Type.registerEnum方法可以注册一个枚举,它主要是更直观的表达一个对象。

  7.Reflection

  使用反射可以知道类中的信息,对Type进行扩展,提供APIs对类进行分析,从而得到类中的信息。

  今天先对JavaScript Microsoft Ajax Library(我比较喜欢叫他Microsoft Ajax脚本库)有一个总体上的认识,第一碰这个东西可能很多理解都是歪理,如果人总是从不懂到懂,逐渐深入也总是需要一个过程。就像当年我对Class怎么也不理解(因为我是在没有人指导的情况下,自己研究起来的,生物工程就是我的专业-中国十大骗人专业之一,由于没有注意现在毕业证还寄在学校呢?),希望我对Ajax也能一步一步的弄懂它,如果有不对的地方还请批评指教。


本文转自网魂小兵博客园博客,原文链接:http://www.cnblogs.com/xdotnet/archive/2006/12/22/aspnet_ajax_javascript_extend.html,如需转载请自行联系原作者

相关文章
|
5月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
59 5
|
1月前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
46 8
|
13天前
|
前端开发 JavaScript 应用服务中间件
Nginx 支持 JavaScript:前所未有的扩展
Nginx 是全球领先的高性能 Web 服务器,以其高效的反向代理和负载均衡功能著称。近期,Nginx 正式支持 JavaScript(通过 NJS 模块),基于 V8 引擎,允许在配置中嵌入 JS 代码,极大提升了灵活性和扩展性。开发者可以使用 JavaScript 实现动态请求处理、自定义认证、复杂响应处理、中间件编写及流量控制等功能,显著降低开发和维护难度,同时保持高性能。NJS 模块的引入为 Nginx 带来了前所未有的扩展能力,适应快速变化的业务需求。
28 0
|
2月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
43 2
|
2月前
|
数据采集 前端开发 JavaScript
虎扑APP数据采集:JavaScript与AJAX的结合使用
虎扑APP数据采集:JavaScript与AJAX的结合使用
|
4月前
|
移动开发 前端开发 JavaScript
js之ajax |12-6
js之ajax |12-6
|
4月前
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
74 5
|
3月前
|
监控 安全 API
Docker + .NET API:简化部署和扩展
Docker + .NET API:简化部署和扩展
45 0
|
3月前
|
监控 安全 API
最完美的扩展Docker + .NET API:简化部署和扩展
最完美的扩展Docker + .NET API:简化部署和扩展
101 0
|
5月前
|
前端开发 JavaScript 程序员
聊聊前端 JavaScript 的扩展运算符 “...“ 的使用场景
聊聊前端 JavaScript 的扩展运算符 “...“ 的使用场景