AjaxPro在.NET中的应用

转载 2012年03月22日 11:47:29

一、简介

  Ajax(Asynchronous JavaScript + XML)应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
  Ajax应用程序的优势在于:
  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

  二、配置  

  Ajax.net有AjaxPro.dll和Ajax.dll两个版本,这两个版本使用上虽然差不多,但还是有区别的,主要的区别如下:
  (1)web.config配置文件不一样
  Ajax.dll的配置文件写法为
  <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
  AjaxPro.dll的配置文件写法为
  <add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>

  (2)调用服务器方法的时候方式不一样,有很多朋友就是因为这个原因,发现命名空间找不到或者对象未定义
  引用Ajax.dll的时候,调用服务器方法不要加命名空间,
  应用AjaxPro.dll的时候,调用服务器方法需要加命名空间
  例如当页面设置为这种设置的时候
<%@ Page language="c#" Codebehind="Test.aspx.cs" AutoEventWireup="false" Inherits="Web.Test" %>


  (3)客户端调用方式不一样
  Ajax.dll为
  var response=Test.GetServerMethod();
  alert(response.value);

  AjaxPro.dll为
  var response=Web.Test.GetServerMethod();
  alert(response.value);

  三、使用步骤

  1、首先下载AjaxPro 组件。并将AjaxPro.dll引用到网站(或项目)。

  2、修改Web.config。在 <system.web> 元素中添加以下代码。

  <configuration>
  <system.web>
  <httpHandlers>
  <!-- Register the ajax handler -->
  <add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
  </httpHandlers>
  </system.web>
  </configuration>

  3、对AjaxPro在页Page_Load事件中进行运行时注册。如:

     protected void Page_Load(object sender, EventArgs e)
      {
          AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));//这的_Default是指页面
           类的类名。如是放在命名空间,则需要写上完整的命名空间(如:namespaces._Default)
      }

  4、创建服务器端方法。只要给一个方法加上[AjaxPro.AjaxMethod]标记,
     该方法就变成一个AjaxPro可进行影射调用的方法。如下:
     [AjaxPro.AjaxMethod]
      public string getValue(int a,int b)
      {   
           //该方法我们将实现从客户端传入两个数,在服务器端相加计算后返回到客户端。 

          return Convert.ToString(a+b);
      }  

   5、客户端调用。
  <script language="javascript">
     function getValue(){   
     _Default.getValue(1,2,getGroups_callback);//该处即调用服务器端的_Default.getValue方法。
               这在里边需要指定个回调函数,以接受服务器端处理完后返回客户端结果。
     form1.TextBox1.value="123";
       }  
     //这个方法用户接受并处理服务器端返回的结果。
     function getGroups_callback(response){
     var dt=response.value;
     alert(dt);
     }
  </script>   

  四、实例


    <script type ="text/javascript" >
            
//根据SQL条件,获取后台求和结果
           function SumOfAjax()
           {
                FLX.ComplexQuery.TestAjaxpro.AjaxSumData($(
"TxtSQL").value,ResultResp);
                $(
"TxtResult").value= "正在处理,请稍候";                
           }
           
function ResultResp( resp )
           {
                $(
"TxtResult").value = resp.value ;
           }
    
</script>

 


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using FLX.ORM;

namespace FLX.ComplexQuery
{
    
public partial class TestAjaxpro : System.Web.UI.Page
    {
        
protected void Page_Load(object sender, EventArgs e)
        {
            
//注册ajaxpro类
            AjaxPro.Utility.RegisterTypeForAjax(typeof(FLX.ComplexQuery.TestAjaxpro));
        }

        
/// <summary>
        
/// 供前台AJAX调用 统计求和,结果返回前台;
        
/// </summary>        
        
/// <returns></returns>
        [AjaxPro.AjaxMethod]
        
public int  AjaxSumData(string strSQL)
        {
            
int Sum=0;
            
string sql = strSQL;
            DataTable dt 
= new DataTable();
            dt 
= FLX.ORM.BrokerFactory.GetBroker(Config.DataBasePath).DataAccess.ExecuteDataTable(sql);
            
for (int i = 0; i < dt.Rows.Count; i++)
            {
                Sum 
+= Convert.ToInt32(dt.Rows[i]["num"].ToString());
            }
            
return Sum;
        }
    }    
}

AjaxPro在.NET中的应用

一、简介   Ajax(Asynchronous JavaScript + XML)应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客...
  • fjwzyt
  • fjwzyt
  • 2012年02月17日 12:29
  • 95

ASP.NET AjaxPro的应用

ASP.NET AjaxPro的应用1、首先下载AjaxPro组件。并将AjaxPro.dll引用到网站(或项目)。2、修改Web.config。在 元素中添加以下代码。 ...

ASP.Net中实现Ajax的几种实现方法之AjaxPro的使用(一)

1、什么是Ajax   Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写。"Ajax"这个名词的发明人是Jesse Jame...

Ajax.Net Professional——A quick guide how to start(AjaxPro开始向导)

Because I could not write a documentation I will show you here how to start: Download the latest ...

AjaxPro.dll,asp.net 前台js调用后台方法(无刷新)

1、什么是Ajax Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写。"Ajax"这个名词的发明人是Jesse James ...

AjaxPro2在Asp.net中的基本用法

AjaxPro2在Asp.net中的基本用法

asp.net 利用微软数据访问类库结合AjaxPro实现无刷新下拉框级联

1、新建一个web网站,添加如下几个dll引用。具体的dll文件可在如下地址下载:http://download.csdn.net/detail/taomanman/4167764 2、新建...

.net 运用ajaxpro 功能省市县联动

。net ajaxpro 省市县联动

Ajax.NET Pro(AjaxPro)——DataSet Examples(数据集例子)

DataSet Examples The first example will read an XML file form the hard disk and return it as an D...

Ajax.NET Pro(AjaxPro)——Class Examples(类示例)

Class Examples The first example will return an own class that has some public fields to be used on...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AjaxPro在.NET中的应用
举报原因:
原因补充:

(最多只允许输入30个字)