在ASP.NET中实现AJAX(2)(转载)
来源:互联网 发布:打开软件显示乱码 编辑:程序博客网 时间:2024/06/01 08:27
现在来创建可从客户端调用中异步访问的服务器端函数。因为目前还不支持所有的返回类型(不用担心,将在目前的基础上开发新的版本),我们继续使用简单的ServerSideAdd函数吧。在file后的代码中,向页面添加下列代码:
[Ajax.AjaxMethod()]
public int ServerSideAdd(int firstNumber, int secondNumber)
{
return firstNumber + secondNumber;
}
要注意,这些函数具有Ajax.AjaxMethod属性集。该属性告诉包装器这些方法创建javaScript代理,以便在客户端调用。
客户端调用
最后一步是用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特性可用于获得更多信息。
- 在ASP.NET中实现AJAX(2)(转载)
- 在ASP.NET中实现AJAX(3)(转载)
- 在ASP.NET中实现AJAX(1)(转载)
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX (转)
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX
- 在ASP.NET中实现AJAX(3)
- 在ASP.NET中实现AJAX(4)
- 在ASP.NET中实现AJAX(5)
- 在ASP.NET中实现AJAX
- Linux 环境下 Makefile 文件制作浅谈(二)
- ASP禁止刷新当前页的两种方法
- 在ASP.NET中实现AJAX(1)(转载)
- 第14課 昨日 デパートへ 行って,買い物しました
- osCommerce
- 在ASP.NET中实现AJAX(2)(转载)
- 精心设置卡巴斯基 加快杀毒速度
- 涨跌停板
- CSS overflow
- 在ASP.NET中实现AJAX(3)(转载)
- 插入与删除Excel表格的单元格、行和列
- Java 程序中的多线程
- 使用javascript动态改变当前行的显示样式
- 在ASP.NET中实现AJAX(4)(转)