您的位置:首页 > 编程语言 > ASP

(学习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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐