(学习Asp.net Ajax笔记一)使用 Microsoft AJAX Library 创建自定义客户端脚本之一
2013-04-16 22:17
1176 查看
什么时候使用类型系统
当您要执行下列操作时,可以使用 Microsoft AJAX Library 的功能:向 JavaScript 代码中添加面向对象的功能,以提高代码的重用性、灵活性和可维护性。
使用反射在运行时检查客户端脚本的结构和组件。
使用枚举提供不同于整数的另一种易读的表示形式。
使用 JavaScript 基类型的扩展缩短常规脚本任务的开发时间。
使用调试扩展和跟踪功能,实现比传统 JavaScript 调试技术更快、信息更丰富的调试。
使用类型系统
Microsoft AJAX Library 增加了一个类型系统以及一系列对 JavaScript 对象的扩展,可提供与 .NET Framework 功能类似的面向对象的常用功能。利用这些功能,可按一种结构化方式编写支持 AJAX 的 ASP.NET 应用程序,这不仅能提高可维护性,还简化了添加功能以及对功能分层的操作。Microsoft AJAX Library 扩展为 JavaScript 添加了下列功能:类
命名空间
继承
接口
枚举
反射
该库还提供了针对字符串和数组的 Helper 函数。
下面通过一个简单的例子来看下类和继承
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="1.aspx.cs" Inherits="_1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <script type="text/javascript"> Type.registerNamespace("Demo"); Demo.Person = function (firstName, lastName) { this._firstName = firstName; this._lastName = lastName; } Demo.Person.prototype = { get_firstName: function () { return this._firstName; }, get_lastName: function () { return this._lastName; }, toString: function () { return this.get_firstName() + " " + this.get_lastName(); } } //这里写错了 //Type.registerClass("Demo.Person"); Demo.Person.registerClass("Demo.Person"); //继承 Demo.Employee = function (firstName, lastName, title) { Demo.Employee.initializeBase(this, [firstName, lastName]); this._title = title; } Demo.Employee.prototype = { get_title:function() { return this._title; }, toString: function() { //因为没有加return 所以是undefined return Demo.Employee.callBaseMethod(this, "toString") + "title:" + this.get_title(); } } //我的这句话写错了。 //Type.registerClass("Demo.Employee", Demo.Person); Demo.Employee.registerClass("Demo.Employee", Demo.Person); </script> </form> <input type="button" value="测试" onclick="onButtonClick();" /> <input type="button" value="测试继承" onclick="onButtonClick2();" /> <script type="text/javascript"> function onButtonClick() { var test = new Demo.Person("liu", "shuai"); //不要忘记加()哦 alert(test.get_firstName() + " " + test.get_lastName()); return false; } function onButtonClick2() { var test = new Demo.Employee("yj", "jm", "CEO"); alert(test.toString()); return false; } </script> </body> </html>
实现的效果如下:
单击测试按钮:
单击 测试继承 按钮:
MSDN帮助链接:http://msdn.microsoft.com/zh-cn/library/bb386453(v=vs.90).aspx
相关文章推荐
- ASP.NET - 使用 Microsoft AJAX Library 创建自定义客户端脚本
- Asp.Net Ajax 学习笔记13 Microsoft AJAX Library中异步通信层使用
- Asp.Net Ajax 学习笔记22 使用Microsoft Ajax Library中的浏览器兼容功能
- 使用 Microsoft Ajax Library 创建自定义客户端脚本
- Asp.Net Ajax 学习笔记23 利用Microsoft AJAX Library开发客户端组件(上)
- Asp.Net Ajax 学习笔记24 利用Microsoft AJAX Library开发客户端组件(中)
- Asp.Net Ajax 学习笔记25 利用Microsoft AJAX Library开发客户端组件(下)
- Asp.Net Ajax 学习笔记12 基于Microsoft AJAX Library扩展客户端组件
- 使用 Microsoft Ajax Library 创建自定义客户端脚本
- 学习 ASP.NET AJAX深入浅出系列课程(21):利用Microsoft AJAX Library开发客户端组建(上)(Level 300)
- Asp.Net Ajax 学习笔记10 JavaScript的原生类型以及Microsoft AJAX Library的相关扩展(下)
- Asp.Net Ajax 学习笔记13 Microsoft AJAX Library中异步通信层(摘自网络)
- Asp.Net Ajax 学习笔记11 Microsoft AJAX Library中的面向对象类型系统
- Asp.Net Ajax 学习笔记9 JavaScript的原生类型以及Microsoft AJAX Library的相关扩展(上)
- Asp.Net Ajax 学习笔记14 扩展Microsoft AJAX Library的异步通信层
- ASP.NET AJAX(8)__Microsoft AJAX Library中异步通信层的使用
- ASP.NET MVC中使用AJAX(XMLHttpRequest、Microsoft AJAX Library......)
- ASP.NET AJAX 以及AJAXPRO使用客户端调用服务器端的方法--初学者学习
- ASP.NET AJAX入门系列:使用客户端脚本对UpdateProgress编程
- ASP.NET 3.5核心编程学习笔记(52):Microsoft AJAX JavaScript类库