1.在項目中添加引用,瀏覽找到AjaxPro.2.dll文件
2.在Web.config中寫入以下代碼
<add verb= " * " path= " *.ashx " type= " AjaxPro.AjaxHandlerFactory,AjaxPro.2 "/>
</httpHandlers>
3.在加載事件中,加入
AjaxPro.Utility.RegisterTypeForAjax(typeof(類名));
例
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxProExample));//這的AjaxProExample是指頁面
}
4.寫的方法都要用
[AjaxPro.AjaxMethod]開頭,然后在寫方法
5.調用時必須寫清楚
命名空間名.類名.方法,例:AjaxProExample.Add();
6.調用可分兩中方法(同步調用,異步調用)
同步調用 :
[AjaxPro.AjaxMethod]
public string getStr()
{
return " hello my friends ";
}
// 在后台寫的有參方法
[AjaxPro.AjaxMethod]
public string getString( string str)
{
return str + " Say: hello my friends ";
}
前台代碼:
if (len == 0) {
var res = AjaxProExample.getStr().value;//同步調用無參
alert(res);
} else if (len == 1) {
if (arguments[ 0] == "") {
alert( " 內容不能為空 ");
} else {
var res = AjaxProExample.getString(arguments[ 0]).value;//同步調用有參
alert(res);
}
}
}
異步調用:
[AjaxPro.AjaxMethod]
public int Add(int a, int b)
{
return a + b;
}
//前台代碼
function AddNum() {
var a = document.getElementById("txt1").value;
var b = document.getElementById("txt2").value;
if (a == "" || b == "") {
alert("請輸入合法的數值");
return;
}
//var res = AjaxProExample.Add(a, b).value; //調用后台代碼后直接返回數據,不用顯示執行回調函數(同步調用)
var res = AjaxProExample.Add(a, b, disp_callback); //調用后台代碼后通過回調函數來顯示返回的數據(異步調用)
}
function disp_callback(response) {
alert("累計求和: " + response.value);
}
7.調用對象
}
//后台
[AjaxPro.AjaxMethod]
public PersonInfo getClass()
{
PersonInfo p = new PersonInfo("張三", 25, "男");
return p;
}
//------------------同步調用對象-----------
function Button5_onclick() {
var res = AjaxProExample.getClass().value;
alert("姓名:" + res.Name + "年齡:" + res.Age + "性別:" + res.Sex);
}
//------------------異步調用對象-----------
function Button6_onclick() {
AjaxProExample.getClass(getClassCallBack);
}
function getClassCallBack(response) {
var res = response.value;
alert("姓名:" + res.Name + " 年齡:" + res.Age + " 性別:" + res.Sex);
}
8.數據集的使用//后台代碼
public DataTable getData()
{
DataTable dt = new DataTable();
dt.Columns.Add( " Name ");
dt.Columns.Add( " Telphone ");
DataRow dr = dt.NewRow();
dr[ " Name "] = " 李四 ";
dr[ " Telphone "] = " 189******** ";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[ " Name "] = " 王五 ";
dr[ " Telphone "] = " 189********* ";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[ " Name "] = " 張三 ";
dr[ " Telphone "] = " 189********* ";
dt.Rows.Add(dr);
return dt;
}
// 前台
function Button7_onclick() {
var dataTable = AjaxProExample.getData().value;
var strHtml = "";
strHtml += ' <table style ="border-collapse:collapse ; border-color:Gray ;" border="1px"> ';
strHtml += ' <tr> ';
strHtml += ' <td>姓名</td> ';
strHtml += ' <td>手機號</td> ';
strHtml += ' </tr> ';
for ( var i = 0; i < dataTable.Rows.length; i++) {
strHtml += ' <tr> ';
strHtml += ' <td> ' + dataTable.Rows[i].Name + ' </td> ';
strHtml += ' <td> ' + dataTable.Rows[i].Telphone + ' </td> ';
strHtml += ' </tr> ';
}
strHtml += ' </table> ';
var divDataTable = document.getElementById( " divDataTable "); // 一個div控件
divDataTable.innerHTML = strHtml; //
}
