ASP.NET AJAX(1)__Microsoft AJAX Library


======================================================
注:本文源代码点此下载
======================================================

asp.net ajax(1)__microsoft ajax library

microsoft ajax library为我们提供的客户端框架,提供的内容大概可以概括为以下的几种:

javascript基础扩展

浏览器兼容层

面向对象类型系统

客户端基础类库

异步通信层

microsoft ajax library为我们提供了javascript基础扩展,一些在javascript类型中没有但是会经常用到的一种方法,方便了我们的开发,然后它还提供了浏览器兼容层,通常,我们使用javascript开发的时候,我们经常会遇到浏览器不兼容的情况,而要做到浏览器的兼容,我们就不得不了解各种常用浏览器对javascript支持的差异,也不得不在各种浏览器里去调试代码,甚至于写不同的javascript代码来对各种浏览器进行支持,这很明显是一件费时费力的工作,但是microsoft ajax library为我们提供了浏览器兼容层这样一个概念,这样我们就可以不考虑(也不能说完全不考虑,只是这种情况少了很多)浏览器之间对javascript不同的支持,而去使用microsoft ajax library为我们提供的这一个跨浏览器的支持进行开发,而面向对象类型系统,则提高了我们代码的质量(这里,强调一下:合理使用),在microsoft ajax library中,提供了一些在客户端可以直接使用的基础类库,比如最常用的stringbuilder,在我们直接使用ajax的时候,我们通常需要创建一个xmlhttprequest,然后对它做一些操作,然后把它send到服务器,然后在客户端得到返回信息,而后进行相应的操作,而异步通信层,是把这些对象进行一些封装,然后丰富这些功能,实际上,在asp.net ajax中,几乎所有的客户端和服务器端进行的交互,都是通过这里的异步通信层。

这里首先演示一个microsoft ajax library提供的面向对象类型系统

在aspx标记中,可以在

这样我们这个两个类就定义完了

然后示范一下使用这两个类,在页面中添加两个按钮

"text">

"button" value="audi s5" οnclick="document.getelementbyid('text').innerhtml=(new demo.vehicle('audi s5',250))" />

"button" value="北方奔驰" οnclick="document.getelementbyid('text').innerhtml=(new demo.truck('faw',150,30000))" />

这样,我们就生成了两个客户端类的实例,并分别调用了他们的tostring方法

这里我们再看一个microsoft ajax library提供的异步通信层的支持

同样,首先在页面中添加一个scriptmanager控件

然后插入javascript代码:

然后定义一个vehicle类,代码如下:

using system;

using system.collections.generic;

using system.linq;

using system.web;

///

///vehicle 的摘要说明

///

public class vehicle

{

private string name;

private int fullspeed;

private float weight;

public vehicle(string name,int fullspeed,float weight)

{

this.name = name;

this.fullspeed = fullspeed;

this.weight = weight;

}

public string name

{

get { return this.name; }

}

public int fullspeed

{

get { return this.fullspeed; }

}

public float weight

{

get { return this.weight; }

}

}

然后新建一个getvehicle.ashx的一般处理程序,这里的作用就是服务器可以接受到客户端的请求,然后通过一些逻辑处理把需要的数据发送回客户端,这也是在通常没有别的框架支持的时候,常用的方法:

"c#" class="getvehicle" %>

using system;

using system.web;

using system.web.script.serialization;//提供对内容进行json序列化的类

public class getvehicle : ihttphandler

{

public void processrequest (httpcontext context)

{

context.response.contenttype = "text/plain";

//从客户端发送过来的requestbody里得到信息

string name = context.request.params["name"];

string fullspeed = context.request.params["fullspeed"];

string weight=context.request.params["weight"];

vehicle vehicle = new vehicle(name, int32.parse(fullspeed), float.parse(weight));

//javascriptserializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 web 服务器之间传递的数据

javascriptserializer jss=new javascriptserializer();

string jsonvehicle = jss.serialize(vehicle);

//输出数据

context.response.write(jsonvehicle);

}

public bool isreusable

{

get

{

return false;

}

}

}

好了,第一篇文章就到这里,一直想在cnbolgs写一点技术方面的文章,可以迫于没有太多时间,一直没写,最近有些闲暇,又从以前的一些资料里翻出来我们博客园的名人赵劼老师的一些视频教程和我当时照他做的一些示例,说原创不是原创,说照搬也不是,就这样打算再这样在把asp.net ajax写写,因为视频的学习,我个人感觉总是有效率的问题,如果遇到什么问题需要用到这些内容,从视频里找的话真是不容易,所以就半总结的写一些算是蚊帐吧,留做自己的手稿,可能有些不对的地方,希望看到的园友们多批评,我多改正。。。、

小白2011.10.13


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值