Ajax.Net快速入门

2016-02-19 20:04 5 1 收藏

下面是个简单易学的Ajax.Net快速入门教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Web开发 】

现在的项目准备用ajax,用ajax.net实现,而不是atlas,所以先看下ajax.net,Ajax.Net现在的最新版本是AjaxPro5.11.4.2,下载地址是:www.schwarz-interactive.de

首先我们新建个项目,名字是AjaxPro,我用的是vs2005beta2版本。

右击站点名字点add reference添加对我们刚刚下载来的那个叫AjaxPro.2.dll的引用,如果你用的是vs2003,则添加对AjaxPro.dll的引用,然后我们在添加个web.config文件(很郁闷的是vs2005不再自动添加web.config文件拉),修改web.config如下:

system.web httpHandlers add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/ /httpHandlers

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理。

我们现在给Default.aspx.cs文件添加个名字空间namespace MyDemo,这里更加郁闷的是为什么vs2005beta2怎么不给你自动添加名字空间啊?和2003怎么完全不同呢?

现在我们写个AjaxMethod服务器端方法,他和普通的服务器方法唯一不同的地方就是他必须要在方法的上面添加个[AjaxPro.AjaxMethod],代码如下:

[AjaxPro.AjaxMethod]public DateTime GetServerTime(){return DateTime.Now;}[AjaxPro.AjaxMethod]public int AddTwo(int firstInt, int secondInt){return firstInt + secondInt;} 我们还必须在Page_Load里面把这个类注册下,如下: protected void Page_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default)); }

这个时候我们还必须修改aspx页面的%@Page指令行,因为我们在后台搞了个名字空间,如下:Inherits="MyDemo._Default"也就是要把名字空间也写上。我们再写客户端脚本来调用服务器方法。代码里有详细的注释,前台Default.aspx代码:

%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="MyDemo._Default" %
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
html xmlns="http://www.w3.org/1999/xhtml" head runat="server"titleUntitled Page/title/headbodyform id="form1" runat="server"divinput id="Button1" type="button" value="获得服务器时间" onclick="getServerTime();" /input id="Text1" type="text" /input id="Text2" type="text" /input id="Button2" type="button" value="得到两个文本框的和" onclick="add(document.getElementById('Text1').value,document.getElementById('Text2').value)" //div/formscript type="text/javascript"function getServerTime(){//MyDemo._Default.GetServerTime()得到从服务器传来的数据是object,要写.valuealert(MyDemo._Default.GetServerTime().value);}function add(a,b){//把文本框的值转换成intvar a1 = parseInt(a);var b1 = parseInt(b);//第1、2参数为服务器方法所需要的参数,后面一个是如果服务器返回数据//客户端要处理这些数据的js函数名,他有个参数就是从服务器传来的数据MyDemo._Default.AddTwo(a1,b1,getAdd);}function getAdd(rel){//要加上.valuealert(rel.value);}/script/body/html后台Default.aspx.cs代码:
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;namespace MyDemo{public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));}
[AjaxPro.AjaxMethod]public DateTime GetServerTime(){return DateTime.Now;}[AjaxPro.AjaxMethod]public int AddTwo(int firstInt, int secondInt){return firstInt + secondInt;}}}
 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

按F5运行结果如下,firefox里面测试通过:

using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;namespace MyDemo{public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));}
[AjaxPro.AjaxMethod]public DateTime GetServerTime(){return DateTime.Now;}[AjaxPro.AjaxMethod]public int AddTwo(int firstInt, int secondInt){return firstInt + secondInt;}}}

来源:http://www.tulaoshi.com/n/20160219/1622670.html

延伸阅读
标签: ASP
  .NET之ASP Web Application快速入门(5) 创建自定义HttpHandler 要自定义一个handler,可以执行IhttpHandler,并在config.web文件的httphandlers一节中添加类信息。下面举例说明如何创建自定义一个HttpHandler,将所有的请求对应到"SimpleHandler.aspx"中: SimpleHandler []点击运行程序] | []查看源代码] 自定...
标签: ASP
  .NET之ASP Web Application快速入门(2) Application的生存期 一个ASP.NET application创建于服务器第一次被请求时,在那之前不会有ASP.NET代码在执行。接受第一次请求后,一个HttpApplication实例池被创建,并激活了Application_OnStart事件。HttpApplication实例处理这个请求及随后发生的请求,直到最后的实例退出,接着就触发App...
标签: ASP
  .NET之ASP Web Application快速入门(4) Application 或 Session作用范围内的对象 在Global.asax文件中,我们可以通过object标记定义静态对象,这些对象可以是.NET框架类,也可以是经典的COM组件。其作用范围可以是appinstance、session或者application中的任一种。如果一个对象的作用范围是Appinstance,就表示这个对象明确属于Htt...
标签: ASP
  .NET之ASP Web Application快速入门(1) 什么是 ASP.NET Application ? ASP.NET这么定义Application:它是运行在Web应用服务器上的一个虚拟目录及其子目录下的所有文件、页面、模块以及可执行代码的总和。比如说,一个叫做"order"的application可能就是Web服务器的一个"/order"虚拟目录。虚拟目录可以通过Inte...
标签: ASP
  .NET之ASP Web Application快速入门(3) 文件Global.asax 除了编写UI(Use Interface:用户界面)以外,我们还可以在Web Application中添加"application"级别的控制逻辑代码以及事件触发程序。这些代码不会去操作产生UI,并且基本上不会响应于单独的页面请求,它们负责的是处理高级别的application事件,包括Application_Sta...

经验教程

617

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部