我也是新手,捉摸了半天,终于写了自己的第一个Ajax实例,拿出来分享,希望其他朋友能很快的写出自己的第一个Ajax程序!
Ajax,即Asynchronous JavaScript and XML的缩写,就是异步的JavaScript 和XML。Ajax不是一种新技术,是JavaScript、XML、XMLHttpRequest 等等各项技术的综合应用。上面是官方定义,在我看来,Ajax就是使cs中的代码/函数,以一种javascript方式执行,以达到不刷新界面的技术。(纯粹个人观点,欢迎拍砖)
言归正传,下面介绍我的第一个Ajax程序:
程序说明:实现在界面不刷新的情况下,点击按钮显示服务器端时间。
1、准备:下载了一个.net Ajax开发包,以便事半功倍,详细地址参见http://ajax.schwarz-interactive.de。就是一个dll,我用的版本是5.7.25.1,开发环境是VS2005,操作系统:Vista(关闭了UAC)。
2、新建一个asp.net项目,在web.config中加入配置信息
1
<system.web>
2
<httpHandlers>
3
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
4
</httpHandlers>
5
</system.web>
3、该Asp.net项目中,加入对新建一个asp.net项目。(或者直接将那个文件copy到Bin目录下面)
2

3

4

5

4、新建一个页面,假定名称为MyPage.aspx
其Aspx代码:
1
<%
%>
2
3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml">
5
<head runat="server">
6
<title>Untitled Page</title>
7
</head>
8
<body>
9
<form id="form1" runat="server">
10
<div>
11
<input type="button" value="Click Here to Get DateTime" onclick="javascript:DoIt()" />
12
<br />
13
<br />
14
<textarea id="TextArea1" name="myDisplay" rows="2" style=" 506px" cols="2"></textarea>
15
</div>
16
</form>
17
18
<script language="javascript">
19
function DoIt()
20
{
21
document.forms[0].myDisplay.value=MyPage.GetString().value;
22
}
23
</script>
24
25
</body>
26
</html>
27
其CS代码

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11
12
public partial class MyPage : System.Web.UI.Page
13
{
14
protected void Page_Load(object sender, EventArgs e)
15
{
16
Ajax.Utility.RegisterTypeForAjax(typeof(MyPage));
17
}
18
19
[Ajax.AjaxMethod]
20
public string GetString()
21
{
22
DateTime d = DateTime.Now;
23
return "The time is " + d.ToString();
24
}
25
}
26
5、运行,点击按钮,即可实现在界面不刷新的情况下,显示服务器端时间。
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26
