一、简介
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是一个基于.NET Framework的库,用于在ASP.NET应用程序中实现异步JavaScript和XML(AJAX)技术,它能够创建无刷新的Web界面,提高用户体验。本示例讲解了如何利用AjaxPro.NET来实现TextBox控件的智能获取...
AjaxPro 是一个流行的 .NET 开发框架,用于创建高性能、低延迟的 AJAX 应用程序。它通过透明地在客户端和服务器之间进行异步通信,提高了用户体验,使得用户在无需页面刷新的情况下也能与服务器进行交互。然而,随着...
AjaxPro.Net是一个基于.NET框架的库,主要用于帮助开发者构建具有高度交互性和响应性的Web应用程序,通过使用Ajax(Asynchronous JavaScript and XML)技术。AjaxPro.dll是这个库的核心组件,提供了强大的功能,允许...
在实际应用中,为了提高性能和用户体验,可能需要添加更多的优化措施,例如: - 设置延迟:只有在用户停止输入一段时间后才发送请求。 - 分页和限制结果数量:如果匹配项过多,可以分批次加载或限制返回的最大数量。...
AjaxPro.NET是一个强大的JavaScript库,专门用于在ASP.NET环境中实现异步JavaScript和XML(AJAX)功能。这个压缩包中的内容可能包含了一个使用AjaxPro.NET框架实现的简单而高效的树形结构示例。树形结构在Web应用...
在这个特定的项目中,"AjaxPro.NET实现的简单高效的Tree"指的是利用AjaxPro.NET库来构建一个动态的、响应式的树形结构视图。树形结构通常用于组织层次化数据,如目录结构、组织架构或者数据库关系。 在提供的文件...
在探讨ASP.NET AjaxPro的实现机制之前,让我们先对Ajax有一个基础的理解。Ajax,即异步JavaScript和XML,是一种网页应用开发技术,允许网页在无需重新加载整个页面的情况下,能够从服务器请求并更新数据。这极大地...
7. **Bin**:编译后的二进制文件目录,包含ASP.NET应用程序引用的dll文件。 这个留言本应用可能利用AjaxPro实现实时提交和显示留言,无需页面刷新,提升了用户体验。同时,它也可能使用ASP.NET 2.0的内置数据控件和...
AJAX.DLL和AJAXPRO.DLL是与AJAX相关的动态链接库文件,它们在Windows操作系统中为应用程序提供AJAX功能的支持。 AJAX.DLL通常是某个程序或框架的一部分,它包含了实现AJAX通信所需的函数和方法。当一个Web应用使用...
ASP.NET AJAXPro是一个用于增强ASP.NET应用程序异步特性的库,它允许开发者创建具有类似JavaScript库如jQuery的AJAX体验的Web应用。这个实例可能是为了展示如何在ASP.NET环境中使用AJAXPro来实现页面的部分刷新、无...
AjaxPro2.dll是针对.NET Framework 2.0版本的一个组件,主要用于实现ASP.NET应用程序中的Ajax功能。Ajax(Asynchronous JavaScript and XML)技术允许在不刷新整个网页的情况下,通过后台与服务器进行异步数据交换,...
AjaxPro是一个开源的库,它的主要目的是使ASP.NET应用支持AJAX更加简单。通过使用AjaxPro,你可以将服务器端的方法暴露给JavaScript,从而在不重新加载整个页面的情况下更新特定的HTML元素。这极大地提高了用户体验...
通过学习和分析这些源代码,开发者可以深入了解如何在实际项目中结合ASP.NET 2.0和AJAXPro实现高效、互动的Web应用程序,特别是对于软件设计师来说,这是一个很好的实践案例,有助于提升在Web开发领域的专业技能。
AjaxPro是.NET框架下的一种实现页面无刷新技术的库,它允许开发者在ASP.NET应用程序中创建AJAX(Asynchronous JavaScript and XML)功能,提供类似JavaScript库如jQuery的体验,但与服务器端的.NET代码更紧密集成。...
**Ajaxpro在ASP.NET中的应用** AjaxPro是一个强大的ASP.NET AJAX库,它允许开发者创建具有类似JavaScript库(如jQuery)的异步Web应用程序,...了解并掌握这一技术,对于提升ASP.NET应用程序的用户体验具有重要意义。
AjaxPro的主要优点在于它可以无缝集成到现有的ASP.NET应用程序中,无需深厚的JavaScript知识。 1. **异步通信**:AjaxPro通过XMLHttpRequest对象实现了浏览器与服务器之间的异步数据交换,使用户可以在不刷新整个...
AjaxPro则是这一概念在ASP.NET环境中的扩展,它简化了在ASP.NET应用中实现Ajax功能的过程。 在ASP.NET中,我们通常会使用控件如UpdatePanel来实现部分页面的刷新,但这种方法可能会导致整个页面生命周期的执行,...
AjaxPro是一款基于.NET Framework的AJAX库,它允许开发者创建高度交互性和响应式的Web应用程序,无需深入了解复杂的JavaScript或XMLHttpRequest对象。AjaxPro的核心是通过在服务器端封装ASP.NET控件和方法,使得它们...
AjaxPro库是由CodeSmith公司开发的,主要用于简化ASP.NET应用程序中的Ajax功能,使得开发者能够轻松地创建出类似Google首页那样具有动态效果和拖动功能的个性化网页。 Ajax(Asynchronous JavaScript and XML)技术...