`
Felix韩
  • 浏览: 17135 次
  • 性别: Icon_minigender_1
  • 来自: 江西
最近访客 更多访客>>
社区版块
存档分类
最新评论

AjaxPro在.NET中的应用

    博客分类:
  • AJAX
阅读更多

一、简介

  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>   

  四、实例


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    <script type ="text/javascript" >
            
//根据SQL条件,获取后台求和结果
           function SumOfAjax()
           {
                FLX.ComplexQuery.TestAjaxpro.AjaxSumData($(
"TxtSQL").value,ResultResp);
                $(
"TxtResult").value= "正在处理,请稍候";                
           }
           
function ResultResp( resp )
           {
                $(
"TxtResult").value = resp.value ;
           }
    
</script>

 


<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->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实现TextBox智能获取服务端数据功能

    AjaxPro.NET是一个基于.NET Framework的库,用于在ASP.NET应用程序中实现异步JavaScript和XML(AJAX)技术,它能够创建无刷新的Web界面,提高用户体验。本示例讲解了如何利用AjaxPro.NET来实现TextBox控件的智能获取...

    自己写的一个类似于AjaxPro的.Net类库

    AjaxPro 是一个流行的 .NET 开发框架,用于创建高性能、低延迟的 AJAX 应用程序。它通过透明地在客户端和服务器之间进行异步通信,提高了用户体验,使得用户在无需页面刷新的情况下也能与服务器进行交互。然而,随着...

    AjaxPro.Net源码

    AjaxPro.Net是一个基于.NET框架的库,主要用于帮助开发者构建具有高度交互性和响应性的Web应用程序,通过使用Ajax(Asynchronous JavaScript and XML)技术。AjaxPro.dll是这个库的核心组件,提供了强大的功能,允许...

    AjaxPro.NET实现TextBox智能获取源码

    在实际应用中,为了提高性能和用户体验,可能需要添加更多的优化措施,例如: - 设置延迟:只有在用户停止输入一段时间后才发送请求。 - 分页和限制结果数量:如果匹配项过多,可以分批次加载或限制返回的最大数量。...

    商业编程-源码-AjaxPro.NET实现的简单高效的Tree.zip

    AjaxPro.NET是一个强大的JavaScript库,专门用于在ASP.NET环境中实现异步JavaScript和XML(AJAX)功能。这个压缩包中的内容可能包含了一个使用AjaxPro.NET框架实现的简单而高效的树形结构示例。树形结构在Web应用...

    AjaxPro.NET实现的简单高效的Tree

    在这个特定的项目中,"AjaxPro.NET实现的简单高效的Tree"指的是利用AjaxPro.NET库来构建一个动态的、响应式的树形结构视图。树形结构通常用于组织层次化数据,如目录结构、组织架构或者数据库关系。 在提供的文件...

    Asp.net AjaxPro实现

    在探讨ASP.NET AjaxPro的实现机制之前,让我们先对Ajax有一个基础的理解。Ajax,即异步JavaScript和XML,是一种网页应用开发技术,允许网页在无需重新加载整个页面的情况下,能够从服务器请求并更新数据。这极大地...

    ASP.NET2.0+AjaxPro

    7. **Bin**:编译后的二进制文件目录,包含ASP.NET应用程序引用的dll文件。 这个留言本应用可能利用AjaxPro实现实时提交和显示留言,无需页面刷新,提升了用户体验。同时,它也可能使用ASP.NET 2.0的内置数据控件和...

    AJAX.DLL_AJAXPRO.DLL等各個版本

    AJAX.DLL和AJAXPRO.DLL是与AJAX相关的动态链接库文件,它们在Windows操作系统中为应用程序提供AJAX功能的支持。 AJAX.DLL通常是某个程序或框架的一部分,它包含了实现AJAX通信所需的函数和方法。当一个Web应用使用...

    asp.net ajaxpro 实例

    ASP.NET AJAXPro是一个用于增强ASP.NET应用程序异步特性的库,它允许开发者创建具有类似JavaScript库如jQuery的AJAX体验的Web应用。这个实例可能是为了展示如何在ASP.NET环境中使用AJAXPro来实现页面的部分刷新、无...

    ajaxpro2.dll for .net 2.0.rar

    AjaxPro2.dll是针对.NET Framework 2.0版本的一个组件,主要用于实现ASP.NET应用程序中的Ajax功能。Ajax(Asynchronous JavaScript and XML)技术允许在不刷新整个网页的情况下,通过后台与服务器进行异步数据交换,...

    asp.net 中 js 调用后置代码中的数据库集合 AjaxPro.dll

    AjaxPro是一个开源的库,它的主要目的是使ASP.NET应用支持AJAX更加简单。通过使用AjaxPro,你可以将服务器端的方法暴露给JavaScript,从而在不重新加载整个页面的情况下更新特定的HTML元素。这极大地提高了用户体验...

    asp.net2.0 +ajaxpro

    通过学习和分析这些源代码,开发者可以深入了解如何在实际项目中结合ASP.NET 2.0和AJAXPro实现高效、互动的Web应用程序,特别是对于软件设计师来说,这是一个很好的实践案例,有助于提升在Web开发领域的专业技能。

    ajaxPro的简单使用

    AjaxPro是.NET框架下的一种实现页面无刷新技术的库,它允许开发者在ASP.NET应用程序中创建AJAX(Asynchronous JavaScript and XML)功能,提供类似JavaScript库如jQuery的体验,但与服务器端的.NET代码更紧密集成。...

    基于Ajaxpro实现的ASP.NET搜索下拉提示源码

    **Ajaxpro在ASP.NET中的应用** AjaxPro是一个强大的ASP.NET AJAX库,它允许开发者创建具有类似JavaScript库(如jQuery)的异步Web应用程序,...了解并掌握这一技术,对于提升ASP.NET应用程序的用户体验具有重要意义。

    ASP.NET-[聊天留言]asp.net2.0+ajaxpro开发的精简留言本v1.0.zip

    AjaxPro的主要优点在于它可以无缝集成到现有的ASP.NET应用程序中,无需深厚的JavaScript知识。 1. **异步通信**:AjaxPro通过XMLHttpRequest对象实现了浏览器与服务器之间的异步数据交换,使用户可以在不刷新整个...

    AjaxPro ajax无刷新 js调用后台代码 asp.net 实例

    AjaxPro则是这一概念在ASP.NET环境中的扩展,它简化了在ASP.NET应用中实现Ajax功能的过程。 在ASP.NET中,我们通常会使用控件如UpdatePanel来实现部分页面的刷新,但这种方法可能会导致整个页面生命周期的执行,...

    ajaxpro源码和应用说明

    AjaxPro是一款基于.NET Framework的AJAX库,它允许开发者创建高度交互性和响应式的Web应用程序,无需深入了解复杂的JavaScript或XMLHttpRequest对象。AjaxPro的核心是通过在服务器端封装ASP.NET控件和方法,使得它们...

    AjaxPro.dll实例,ASP.NET个性网页拖动

    AjaxPro库是由CodeSmith公司开发的,主要用于简化ASP.NET应用程序中的Ajax功能,使得开发者能够轻松地创建出类似Google首页那样具有动态效果和拖动功能的个性化网页。 Ajax(Asynchronous JavaScript and XML)技术...

Global site tag (gtag.js) - Google Analytics