正文

Ajax使用入门2006-03-30 14:13:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/tujun/11629.html

分享到:

AJAX

 

最近在网上下载了一个AJAX的DLL,使用了一下,有一些感受:

 

使用AJAX的确可以避免页面的刷新实现浏览器/客户端的页面交互,尤其是进行数据库数据查询,一些需要在服务器处理的业务逻辑时尤为好用,不过用了一段时间,发觉这东西入门比较简单,但是深入的使用还是很困难。

 

Ajax技术实质上是一种异步的浏览器请求/服务端响应的技术,很早就出来了,但是直到前不久才被广而使用,这可能是Google的功劳。使用Ajax可以带来很好的客户体验,大量的减少网络流量,降低服务端的压力,总总好处,使我们迫切的想用一下,但是我研究了这么多天,还是没研究明白。

 

Ajax.dll是对Ajax技术的一个封装,

http://www.microsoft.com/china/msdn/library/webservices/asp.net/ASPNetSpicedAjax.mspx

可以得到其技术的介绍和下载。

 

Ajax.dll使用入门:

首先,在C#Web窗体应用程序中添加对Ajax.dll的引用;

WebConfig.config中的<system.web>节点下添加以下内容:

<httpHandlers>

      <!-- Register the ajax handler -->

      <add verb="POST,GET" path="AjaxPro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro" />

</httpHandlers> 

上面的内容实际上是增加Ajax类对http请求的响应,ajax会拦截来自浏览器的请求,并根据请求做响应。

 

在页面的代码中添加ajax对类的注册:

private void Page_Load(object sender, System.EventArgs e)

{

AjaxPro.Utility.RegisterTypeForAjax(typeof(DataAccess)); // DataAccess是页面类的类名

 

}

再添加用ajax实现的方法,这里举一个简单的例子:

[AjaxPro.AjaxMethod]

public string GetAjax()

{

    return “这是ajax返回的内容!”;

}

 

在页面的html中,添加对ajax方法的调用:

function getajax()

{

    WebClass. DataAccess. GetAjax(getajaxcallback);;//WebClass是页面类的命名空间,getajaxcallback是方法调用后的回调,如果方法GetAjax需要送入参数,请按顺序放在这个回调函数对象的前面,如:WebClass. DataAccess. GetAjax(par1,par2,getajaxcallback);

}

//回调方法

function getajaxcallback(res){

alert(res.value);}//调用方法返回的结果在res的value中

 

很简单。

但我在使用中发现一个问题,就是在服务端的方法中不能访问服务端控件,也不能访问类似于Seesion之类的变量,但服务端静态变量却可以访问,郁闷ing。。。

 

07-10-31添加:


如果要访问Seesion,需要改变委托属性[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]

阅读(5695) | 评论(4)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册