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; //
}