Ajax.dll步骤

1. 有直接用框架的:Ajaxpro和Ajax,这两种我用过了,觉得不错,以后我还会继续用,Jquery其实也属于这一范畴,今天研究半天,没太明白,可能是我没找到现成的框架吧,所以就不研究了

2. 还有一种就是用微软专门为Ajax开发的控件包,叫作ASP.NET AJAX Control Toolkit,这个我没太研究,网上有相关资料,想知道的可以自己去查,里面有很多现成的控件可以实现AJAX。

3. 用VS2005的可以下个ASPAJAXExtSetup.msi,里面有updatepanel控件也可以实现AJAX,这个我只初步试了一下,也好用,不过原理还不太明白。

以上三种是我收集到的一些AJAX的实现方法,我要讲的是第一种方法的应用,因为第一种能叫你明白AJAX的运行原理,比较适合初学者。
我主要讲Ajaxpro,这是个组件,必须去网上下载,其实就是一个Ajaxpro.dll文件,注意,网上有两种一种叫Ajax.dll一种叫 Ajaxpro.dll,这两种功能上是一样的,就是添加引用的语句有些不同,下面我会分别说的。其实用AJAX都要下相关组件的,开始我也不习惯下什么插件,可后来还是下了,不下不行呀。我下到的是Ajax.dll,所以讲时以Ajax.dll为准。

应用篇,这以下的东西会借鉴网上其他人的文章,在这里声明一下

1.先把Ajax.dll添加引用到项目中,别告诉我不会,如果连这个也不会就太那个了,和添加其他DLL一样,在项目上右击,菜单上有个[添加引用],然后一步一步把那个.DLL文件添加进来,之后你会在项目的引用中看到那个Ajax.dll就是添加成功了
2.修改Web.config。在 <system.web> 元素中添加以下代码。这里的Ajax.dll和Ajaxpro.dll引用方法是不一样的,一定要注意
<configuration>
<system.web>
<httpHandlers>
<!-- Ajax.dll的配置文件写法为,我下载到的是这个 -->
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
<!-- AjaxPro.dll的配置文件写法为,根据你下载到的DLL文件选择不同的配置语句-->
<add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
</system.web>
</configuration>

如果是IIS7,则需要在<system.webServer></system.webServer>里加上<add name="ajax"  verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />

3对AjaxPro用到的页Page_Load事件中进行运行时注册。如:
    protected void Page_Load(object sender, EventArgs e)
      {
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));//是Ajax.dll的
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));//Ajaxpro.dll的
      }
//这的_Default是指页面类的类名,就是这个页面的名字。如是放在命名空间,则需要写上完整的命名空间(如:namespaces._Default)

4. 创建服务器端方法   
      [Ajax.AjaxMethod]//这句一定要有,如果你是Ajaxpro.dll就写成[AjaxPro.AjaxMethod]
      public string getValue(int a,int b)
      { 
        //该方法我们将实现从客户端传入两个数,在服务器端相加计算后返回到客户端。这里可以写在原来的页后台中也可以单独写一个类。
          return Convert.ToString(a+b);//这里返回的就是前台得到的值,反正参数已经进CS文件了,想怎么操作就怎么操作,包括读库都可以。

5. 客户端调用。
<%@ Page language="c#" Codebehind="WebPage1.aspx.cs" AutoEventWireup="false" Inherits="Web.WebPage1" %>
<script language="javascript">
    function getValue()
        {

    //这里如果是AjaxPor.dll就加Web._Default.getValue,如果是Ajax.dll就不用加命名空间如下
              _Default.getValue(1,2,getGroups_callback);//该处即调用服务器端的_Default.getValue方法。
    //_Default就是写getValue的那个类,如果写在本页CS里就是WebPage1.getValue,1和2是参数。
      //这在里边getGroups_callback指定的是个回调函数,以接受服务器端处理完后返回客户端结果。
          }
 
    //这个方法用户接受并处理服务器端返回的结果。
      function getGroups_callback(response)
    {
        var dt=response.value;//这个值就是最终传回来的值,想怎么用就怎么用,反正回前台了。
document.getElementById("Div_1").innerHTML=dt;
    }
</script> 
<body>
<div id="Div_1"> </div>
<button </botton>
</body>

 

ajaxpro也就是AJAX.NET (Professional), 它是ASP.NET平台上著名的AJAX框架,诞生于2005年2月(虽然正式命名为AJAX.NET则是在两个月之后),作者为Michael Schwarz。同年10月,Michael为AJAX.NET提供了更丰富的功能(主要是安全性方面),并将其改名为AJAX.NET Professional。AJAX.NET提供的最主要的(也是唯一)的功能就是异步调用服务器端方法,可谓非常纯粹的“基于数据”的AJAX使用方式。这个框架是一个个人作品,有支持.NET 1.1和2.0的版本,它并不属于微软官方,目前已经停止更新。 微软官方的AJAX组件是 Atlas 也叫 ASP.NET AJAX 里面的两个dll ajaxpro.dll 是用于.net 1.1 版本的组件 ajaxpro.2.dll 是用于.net 2.0的 并非所谓的升级版,因为,功能是一样的...只是适用的.NET Framework 的版本不同而已. 配置文件如下: <!--<httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/> <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> <add verb="*" path="*.ashx" type="AjaxPro.AjaxBitmapHttpHandler,AjaxPro.2"/> Ajax.dll的配置文件写法为 <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> AjaxPro.dll的配置文件写法为 <add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/> </httpHandlers>--> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/> </httpHandlers>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值