我也是新手,捉摸了半天,終於寫了自己的第一個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目錄下面)
4、建立一個頁面,假定名稱為MyPage.aspx
其Aspx代碼: 1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
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="width: 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代碼 1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public 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、運行,點擊按鈕,即可實現在介面不重新整理的情況下,顯示伺服器端時間。