1.先把Ajax.dll添加引用到項目中,在項目上右擊,菜單上有個[添加引用],然后一步一步把那個.DLL文件添加進來,之后你會在項目的引用中看到那個Ajax.dll就是添加成功了
2.修改Web.config。在 <system.web> 元素中添加以下代碼。這里的Ajax.dll和Ajaxpro.dll引用方法是不一樣的,一定要注意 <configuration> <system.web> <httpHandlers> <!-- Ajax.dll的配置文件寫法為,我下載到的是這個 --> <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> <!-- AjaxPro.dll的配置文件寫法為,根據你下載到的DLL文件選擇不同的配置語句--> <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)
{ Ajax.Utility.RegisterTypeForAjax(typeof(_Default));//是Ajax.dll的
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));//Ajaxpro.dll的
}
//這的_Default是指頁面類的類名,就是這個頁面的名字。如是放在命名空間,則需要寫上完整的命名空間(如:namespaces._Default)
4.創建服務器端方法
[Ajax.AjaxMethod]//這句一定要有,如果你是Ajaxpro.dll就寫成[AjaxPro.AjaxMethod]
public string getValue(int a,int b) { //該方法我們將實現從客戶端傳入兩個數,在服務器端相加計算后返回到客戶端。這里可以寫在原來的頁后台中也可以單獨寫一個類。
return Convert.ToString(a+b);//這里返回的就是前台得到的值,反正參數已經進CS文件了,想怎么操作就怎么操作,包括讀庫都可以。
}
5. 客戶端調用。
<%@ Page language="c#" Codebehind="WebPage1.aspx.cs" AutoEventWireup="false" Inherits="Web.WebPage1" %> <script language="javascript">
function getValue() {
//這里如果是AjaxPro.dll就加Web._Default.getValue,如果是Ajax.dll就不用加命名空間如下
_Default.getValue(1,2,getGroups_callback);//該處即調用服務器端的_Default.getValue方法。
//_Default就是寫getValue的那個類,如果寫在本頁CS里就是WebPage1.getValue,1和2是參數。
//這在里邊getGroups_callback指定的是個回調函數,以接受服務器端處理完后返回客戶端結果。
}
//這個方法用戶接受並處理服務器端返回的結果。
function getGroups_callback(response)
{ var dt=response.value;//這個值就是最終傳回來的值,想怎么用就怎么用,反正回前台了。
document.getElementById("Div_1").innerHTML=dt;
}
</script> <body> <div id="Div_1"> </div> <button onclick=getValue()>開始 </botton> </body>