在Asp.net中使用jquery实现Ajax (转)

本文介绍如何在ASP.NET项目中使用jQuery AJAX技术,重点讨论使用.ashx文件作为数据处理程序,以及如何将C#数据结构转换为JSON格式以便前端处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

因为最近的项目需要使用在asp.net下使用ajax技术.进行了一些实际研究,原来想用ext,但考虑到同组的哥几个一起开发,ext的类库过大, 并且它的优势在于ui方面;而对于微软官方的解决方案asp.net ajax的类库还包括后台的类库觉得稍重量级了些.最后选择了jqury,轻量而优雅.

对于jqury这个javascript类库,有官方的网站支持,感兴趣的想彻底研究的不妨移步过去:点这儿.

这里只提供自已使用jqury在asp.net中的应用方案。

首先,要解决的问题是使用jquery.getjson(url,[data],[callback])方法中url,即要获取前台处理数据的地址。因为以前有过开发gis的经验,所以知道一般gis的解决方案是通过调用“一般处理程序”即以.ashx结尾的文件,它实际上是通过继承 ihttphandler这个接口来实现自定义返回给客户端自定义内容的。

ihttphandler这个接口比较简单只有一个属性和一个方法:

using system;

namespace system.web

{

public interface ihttphandler

{

bool isreusable { get; }

void processrequest(httpcontext context);

}

}

其中processrequest(httpcontext context)这个方法是我们关心的。在我们的.ashx文件中,我们就是要实现自已的processrequest(httpcontext contex),用它来给客户端返回前端数据。

第二个要解决的问题是c#的数据结构和javascript是完全不同的,所以c#的数据要返回给javascript处理,必须的找个桥梁。这里有两个选择:1.xml;2.json。因为这里只是简单的应用实现,所以我选择的是相对简单的json。

方案已定,下面在自己的.ashx文件中可以这么实现processrequest(httpcontext contex)方法:

public void processrequest(httpcontext context)

{

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

string data = "[{name:\"fan\",age:26},{name:\"wang\",age:25}]";//构建的json数据

//下面两句是用来测试前台向此页面发出的查询字符

context.response.write(data);

}

ok,后台的部分完成,剩下的就简单很多,在前台页面中请求这个.ashx即可:

code

选择

按f5的话可以看到效果。

当然这只是简单的demo,如果想实际应用的话,可以写一个类库来专门处理c#转化为json格式,这样处理起来应该方便很多。如果有时间的话,等闲下来我来实现个。

不知道这个轻量级的应用是否恰当,请各位兄弟指教!

本文来自csdn博客,转载请标明出处:http://blog.youkuaiyun.com/lee576/archive/2008/12/09/3481367.aspx


======================================================
在最后,我邀请大家参加新浪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、付费专栏及课程。

余额充值