日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 Microsoft Ajax Library 创建自定义客户端脚本

發布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 Microsoft Ajax Library 创建自定义客户端脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MSDN地址:http://msdn.microsoft.com/zh-CN/library/bb386453.aspx

Microsoft Ajax Library是微軟提供的一套基于客戶端的Ajax js庫,通過在頁面中添加ScriptManager控件可以管理這些腳本和任何自定義的腳本。

本節所介紹的所有內容均依賴于該JS庫,與服務器開發無關!

MS Ajax Library有一些功能:

  • 向js中添加了面向對象的功能,可以使用類、命名空間、繼承等組織js代碼。
  • 反射功能,在運行時檢查客戶腳本的結構和組件。
  • 枚舉
  • 擴展了JS的基類型,縮短開發時間
  • 更好的調試和跟蹤功能。

JS面向對象的用法

Type 類為 JavaScript 編程添加了命名空間、類和繼承等面向對象的功能。任何使用 Type 類注冊的 JavaScript 對象都會自動獲得訪問此功能的權限。

//注冊命名空間 Type.registerNamespace("Demo");//為命名空間添加Person類,后面的方法為Person的構造函數 Demo.Person = function (firstName, lastName, emailAddress) {this._firstName = firstName;this._lastName = lastName;this._emailAddress = emailAddress; }//Person類的方法 Demo.Person.prototype = {getFirstName: function () {return this._firstName;},getLastName: function () {return this._lastName;},getEmailAddress: function () {return this._emailAddress;},setEmailAddress: function (emailAddress) {this._emailAddress = emailAddress;},getName: function () {return this._firstName + ' ' + this._lastName;},dispose: function () {alert('bye ' + this.getName());},sendMail: function () {var emailAddress = this.getEmailAddress();if (emailAddress.indexOf('@') < 0) {emailAddress = emailAddress + '@example.com';}alert('Sending mail to ' + emailAddress + ' ...');},toString: function () {return this.getName() + ' (' + this.getEmailAddress() + ')';} } //注冊類Demo.Person Demo.Person.registerClass('Demo.Person', null, Sys.IDisposable);//定義Employee類 Demo.Employee = function (firstName, lastName, emailAddress, team, title) {Demo.Employee.initializeBase(this, [firstName, lastName, emailAddress]);this._team = team;this._title = title; } //Employee類的方法 Demo.Employee.prototype = {getTeam: function () {return this._team;},setTeam: function (team) {this._team = team;},getTitle: function () {return this._title;},setTitle: function (title) {this._title = title;},toString: function () {return Demo.Employee.callBaseMethod(this, 'toString') + '\r\n' + this.getTitle() + '\r\n' + this.getTeam();} } //注冊Demo.Employee類,并指定其繼承自Demo.Person類 Demo.Employee.registerClass('Demo.Employee', Demo.Person);

?

調用的代碼:

var person = new Demo.Person('Jack', 'Smith', 'jack@hotmail.com'); alert(person.getEmailAddress());var employee = new Demo.Employee('Jack', 'Smith', 'jack@hotmail.com', 'Web Dev', ''); alert(employee.getTeam());

使用接口

//注冊接口 Demo.Trees.IFruitTree.registerInterface('Demo.Trees.IFruitTree'); //使用接口 //類Demo.Trees.FruitTree繼承了Demo.Trees.Tree,并實現了接口Demo.Trees.IFruitTree Demo.Trees.FruitTree.registerClass('Demo.Trees.FruitTree', Demo.Trees.Tree, Demo.Trees.IFruitTree);

使用枚舉

//注冊命名空間 Type.registerNamespace("Demo"); //定義枚舉類型 Demo.Color = function () { }; Demo.Color.prototype = {Red: 0xFF0000,Blue: 0x0000FF,Green: 0x00FF00,White: 0xFFFFFF } //注冊枚舉類型 Demo.Color.registerEnum("Demo.Color");//用法 var color = Demo.Color.Red;

?

反射的用法

反射是指在運行時檢查程序的結構和組件的能力。實現反射的 API 是對 Type 類的擴展。通過這些方法,可以收集有關對象的信息,例如該對象繼承自誰,它是否實現特定的接口,以及它是否是特定類的實例等。

var g = new Demo.Trees.GreenApple(); var gt = Demo.Trees.GreenApple; var a = new Array(Demo.Trees.Apple,Demo.Trees.Tree,Demo.Trees.Pine,Demo.Trees.IFruitTree,Sys.IContainer);function OnButton1Click() {for (var i = 0; i < a.length; i++) {//是否為某一類型的實例if (a[i].isInstanceOfType(g)) { alert(gt.getName() + " is a " + a[i].getName() + ".");}else alert(gt.getName() + " is not a " + a[i].getName() + ".");} }function OnButton2Click() {for (var i = 0; i < a.length; i++) {//是否繼承自某一類型if (gt.inheritsFrom(a[i])) {alert(gt.getName() + " inherits from " + a[i].getName() + ".");}else alert(gt.getName() + " does not inherit from " + a[i].getName() + ".");} }function OnButton3Click() {for (var i = 0; i < a.length; i++) {//判斷類型是否為接口if (Type.isInterface(a[i])) {//判斷對象是否實現了接口if (gt.implementsInterface(a[i])) {alert(gt.getName() + " implements the " + a[i].getName() + " interface.");}else alert(gt.getName() + " does not implement the " + a[i].getName() + " interface.");}else alert(a[i].getName() + " is not an interface.");} }

?

轉載于:https://www.cnblogs.com/youring2/archive/2013/01/06/2847681.html

總結

以上是生活随笔為你收集整理的使用 Microsoft Ajax Library 创建自定义客户端脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。