.net中AjaxPro的简单使用

 

1.在项目中添加引用,浏览找到AjaxPro.2.dll文件

 

2.Web.config中写入以下代码

 

<httpHandlers>
<add verb= " * " path= " *.ashx " type= " AjaxPro.AjaxHandlerFactory,AjaxPro.2 "/>
</httpHandlers>

 

 

3.在加载事件中,加入

AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));

protected  void Page_Load( object sender, EventArgs e) 

{
        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 ";

    }  


前台代码: 

 function SayHello() {
             var len = arguments.length;  // 重载
             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.调用对象 


 
public class PersonInfo
{
    private int _Age = 0;
    private string _Name = "";
    private string _Sex = "";
    public int Age
    {
        get { return _Age; }
        set { _Age = value; }
    }    
    public string Name
    {
        get { return _Name; }
        set { _Name = value; }
    }   
    public string Sex
    {
        get { return _Sex; }
        set { _Sex = value; }
    }
public PersonInfo(string name,int age,string sex)
{
        Name = name;
        Age = age;
        Sex = sex;
}

 

    
//后台
[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.数据集的使用//后台代码

[AjaxPro.AjaxMethod]
     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;  //

        }

 

 

转载于:https://www.cnblogs.com/yourancao520/archive/2012/02/21/2360988.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值