首先从网上下载一个AjaxPro.dll(vs2003),然后把Ajax.dll copy到应用系统bin目录下,在项目中添加引用AjaxPro.dll。随后,找到web.config文件,修改里面的配置:
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"></add>
</httpHandlers>
意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理。
接下来我们就开始第一个Ajax.net的初次旅行。
新建一个项目ajax,然后呢,打开WebForm2.aspx.cs文件,在Page_Load事件里面注册一下AjaxPro
然后在WebForm2.aspx的HTML页面中的<head>区域中加入javascript代码来调用服务器端的方法。
WebForm2.aspx.cs代码:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
接下来我们就开始第一个Ajax.net的初次旅行。
新建一个项目ajax,然后呢,打开WebForm2.aspx.cs文件,在Page_Load事件里面注册一下AjaxPro
1
private void Page_Load(object sender, System.EventArgs e)
2
{
3
// 在此处放置用户代码以初始化页面
4
AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm1));
5
}
下面就进入Ajax的世界了,在WebForm2.aspx.cs里写入下的一个方法![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
1
[AjaxPro.AjaxMethod]
2
public int add(int a,int b)
3
{
4
return a+b;
5
}
注意,方法必须是public的,而且方法前必须有[AjaxPro.AjaxMethod]这样才能在客户端掉用这个方法。![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
然后在WebForm2.aspx的HTML页面中的<head>区域中加入javascript代码来调用服务器端的方法。
1
<script>
2
function getadd()
3
{
4
var a=parseInt(document.getElementById("a").value);
5
var b=parseInt(document.getElementById("b").value);
6
var c=ajax.WebForm2.add(a,b).value;
7
document.all.result.innerHTML=c;
8
document.all.result.style.color="red";
9
}
10
11
</script>
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
看上面的javascript代码,当我第一次写着段代码时,费了一番的功夫,当然,不是说不会,而是里面的细节问题
如,在服务器段,我定义的方法add()返回值是int,而如果直接调用也就是说如果把var c=ajax.WebForm2.add(a,b).value;改成var c=ajax.WebForm2.add(a,b)那么在页面上获得的值是[object Object]而非真正想要的结果。所以我总结了一下客户端从服务器端获得的值基本上是object类型的,所以得在后面加上.vlaue.
string 类型
int 类型
DateTime类型
当然了,在以后的学习和开发过程中还会有总结的。下面是完整的代码:
1
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="ajax.WebForm2" %>
2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
3
<HTML>
4
<HEAD>
5
<title>WebForm2</title>
6
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
7
<meta name="CODE_LANGUAGE" Content="C#">
8
<meta name="vs_defaultClientScript" content="JavaScript">
9
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
10
<script>
11
function getadd()
12
{
13
var a=parseInt(document.getElementById("a").value);
14
var b=parseInt(document.getElementById("b").value);
15
var c=ajax.WebForm2.add(a,b).value;
16
document.all.result.innerHTML=c;
17
document.all.result.style.color="red";
18
}
19
20
</script>
21
</HEAD>
22
<body MS_POSITIONING="GridLayout">
23
<form id="Form1" method="post" runat="server">
24
<FONT face="宋体">
25
<asp:TextBox id="a" style="Z-INDEX: 101; LEFT: 176px; POSITION: absolute; TOP: 80px" runat="server"></asp:TextBox>
26
<asp:TextBox id="b" style="Z-INDEX: 102; LEFT: 176px; POSITION: absolute; TOP: 112px" runat="server"></asp:TextBox>
27
<asp:Label id="result" style="Z-INDEX: 103; LEFT: 368px; POSITION: absolute; TOP: 104px" runat="server">Label</asp:Label><INPUT style="Z-INDEX: 104; LEFT: 184px; POSITION: absolute; TOP: 176px" type="button"
28
value="Button" onclick="getadd()"></FONT>
29
</form>
30
</body>
31
</HTML>
32![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
WebForm2.aspx.cs代码:
1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11![](/Images/OutliningIndicators/None.gif)
12
namespace ajax
13
{
14
/// <summary>
15
/// WebForm2 的摘要说明。
16
/// </summary>
17
public class WebForm2 : System.Web.UI.Page
18
{
19
protected System.Web.UI.WebControls.TextBox a;
20
protected System.Web.UI.WebControls.TextBox b;
21
protected System.Web.UI.WebControls.Label result;
22
23
private void Page_Load(object sender, System.EventArgs e)
24
{
25
// 在此处放置用户代码以初始化页面
26
AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm2));
27
}
28
[AjaxPro.AjaxMethod]
29
public int add(int a,int b)
30
{
31
return a+b;
32
}
33![](/Images/OutliningIndicators/InBlock.gif)
34
Web 窗体设计器生成的代码
54
}
55
}
56![](/Images/OutliningIndicators/None.gif)
恩,这是我的第一个,当然了以后还会继续努力的。![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
54
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
56
![](/Images/OutliningIndicators/None.gif)