正 文

在ASP.NET中实现AJAX


www.7dspace.com  更新日期:2005-11-1 4:54:18  七度空间


  客户端调用

  最后一步是用JavaScript调用该函数。AJAX包装器负责创建带有两个参数的JavaScript函数Sample.ServerSideAdd。对这种最简单的函数,只需要调用该方法并传递两个数字:

<%@ Page Inherits="AjaxPlay.Sample" Codebehind="sample.aspx.cs" ... %>
<html>
<head>
  <script language="javascript" src="Ajax/common.ashx"></script>
  <script language="javascript"
          src="Ajax/AjaxPlay.Sample,AjaxPlay.ashx"></script>
</head>
  <body>  
    <form id="Form1" method="post" runat="server">
      <script language="javascript">
        var response = Sample.ServerSideAdd(100,99);
        alert(response.value);
      </script>
    </form>  
  </body>
</html>

  当然,我们不希望仅仅用这种强大的能力来警告用户。这就是所有客户端代理(如JavaScript Sample.ServerSideAd函数)还接受其他特性的原因。这种特性就是为了处理响应而调用的回调函数:

Sample.ServerSideAdd(100,99, ServerSideAdd_CallBack);

function ServerSideAdd_CallBack(response){
 if (response.error != null){
  alert(response.error);
  return;
 }
 alert(response.value);
}

  从上述代码中可以看到我们指定了另外一个参数。ServerSideAdd_CallBack(同样参见上述代码)是用于处理服务器响应的客户端函数。这个回调函数接收一个响应对象,该对象公开了三个主要性质

  Value——服务器端函数实际返回的值(无论是字符串、自定义对象还是数据集)。

  Error——错误消息,如果有的话。

  Request——xml http请求的原始响应。

  Context——上下文对象。

  首先我们检查error只看看是否出现了错误。通过在服务器端函数中抛出异常,可以很容易处理error特性。在这个简化的例子中,然后用这个值警告用户。Request特性可用于获得更多信息。

6页,页码:[1] [2] [3] [4] [5] [6] 

上一篇:关于ebXML和UDDI的疑惑
下一篇:用好Google本地搜索有技巧
作者:Karl Seguin  来源:MSDN ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐