[索引页]
[源码下载]


新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)


作者:webabcd


介绍
Microsoft AJAX Library提供了对JavaScript的扩展和对面向对象的支持,并且与.NET框架非常相似。我们来看一下如何实现命名空间、类、成员、接口、继承和枚举。


关键
1、Sys.Type类
    ·Type.registerNamespace("命名空间的名称");
    ·classInstanceVar.registerClass("类名称", 基类(可选), 接口(可选,多个就顺序写下去));
    ·typeInstanceVar.registerInterface("接口名称");
    ·ANamespace.AnEnum.registerEnum("枚举名称");
    ·typeVar.initializeBase(初始化基类的实例(一般是this), [传值给基类构造函数的参数](可选) ); (返回值为基类的实例)
    ·instanceVar.callBaseMethod(调用基类方法的实例(一般是this), "基类的方法名称", [传值给基类方法的参数](可选));
    ·其它请查看官方文档

2、为了使“partial-page rendering”有效,应该像如下这样引用外部js
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)<asp:ScriptManager ID="ScriptManager1" runat="server">
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)  
<Scripts>
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)    
<asp:ScriptReference path="MyScript.js" />
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)  
</Scripts>
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)
</asp:ScriptManager> 

3、为了使ScriptManager正确的处理脚本,在每一个js文件的结尾处都应该包括如下这句
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();


示例
Sample.js
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)// 注册一个名为“Demo”的命名控件
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)
Type.registerNamespace("Demo");
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)
// 定义Demo命名空间下的Message类的构造函数
新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)
Demo.Message = function(content, publishTime) 
 'undefined') Sys.Application.notifyScriptLoaded();

Sample.aspx

运行结果
1、单击“类的测试”按钮后
hello 2007-05-28 08:47:11
hello 2007-05-28 08:47:11

2、单击“类、接口和继承的测试”按钮后
webabcd hello 2007-05-28 08:48:16
webabcd hello 2007-05-28 08:48:16
hello
true

3、选择“枚举的测试”的选项后
页面会变成你选择的颜色


OK
[源码下载]

相关文章:

  • 2021-06-09
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2022-01-24
  • 2021-11-09
  • 2022-12-23
猜你喜欢
  • 2022-02-13
  • 2021-09-29
  • 2021-10-29
  • 2021-08-17
  • 2021-06-11
  • 2022-02-28
  • 2022-01-10
相关资源
相似解决方案