AJAXManager的使用

之前一直没有接触过ajax,这次用ajaxmanager 做了一个简单的应用,特把使用流程写下:
1.首先在aspx 页面引用 global.js

2.在codeBehind的pageLoad事件里

 private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   AjaxManager.Register(this,"somemethod");
 .........................
      if(! IsPostBack)
          RegisterAjaxCallbackScript();
 ......................
 ...................
  }
这里有两个地方要解释下:

    (1)AjaxManager.Register(this,"somemethod");  this 代表本页面的类,somemethod是此类中为客户端javascript脚本提供ajax调用的方法,此方法会有一个属性,稍后会提到.

    (2)   RegisterAjaxCallbackScript();  往客户端注册脚本,这段脚本实际上应该包括两个函数,一个用来调用服务器端的    服务方法,一个是服务器端的函数返回后的回调函数.

3   [AjaxMethod(IncludeControlValuesWithCallBack=true)]     
  public string somemethod(int qkid)
  {

.............................................................

     return sometxt;               

//在这个方法里return 的一些数据,就是在返回给客户端回调函数的数据,实际上是通过httpxmlresponse 返回的。

  }

[ ] 里的就是ajaxMethod属性了,ajaxmanager会使用此属性来判断这个方法是否是ajax 的服务方法.

 

4.public void RegisterAjaxCallbackScript()
  {
   string scriptkey = "AjaxCallbackScriptCallRequest";
   if(Page.IsClientScriptBlockRegistered(scriptkey))
    return;
   string js=@"<script language=""javascript"">
    <!--
      function CallRequest(qkid)
      {
             someclass.somemeth(qkid,stateMessage);
      }
      function stateMessage(res)
      {
            alert(res.value);
      }
    -->
        </script>";
   Page.RegisterClientScriptBlock(scriptkey,js);      
  }

     第一个javascript 函数CallRequest的作用是调用服务器端的服务方法,html页面中的某个事件触发后调用它.比如按钮的onclick事件.

    第二个函数stateMessage是回调函数,可以从服务器端获得一些文本.

 Page.RegisterClientScriptBlock(scriptkey,js);      这个行代码的作用就是向页面里注册javascript脚本了.

实际上使用还是很简单的,很容易理解.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值