=波波日志 > Asp.Net/C#/WCF > ajaxpro返回值类型总结-DataTable=
ajaxpro返回值类型总结-DataTable
ajaxpro使用总结系列其他内容
ajaxpro综合示例-ajaxpro无刷新更新gridview数据
ajaxPro7.7.31.1 出现this.onTimeout is not a function 的Bug解决方案
ajaxPro7.7.31.1 返回DataTable,DateSet出错
ajaxpro无刷新,分页更新repeater/GridView数据源
ajaxpro返回值类型总结-DataTable
ajaxpro支持返回DataTable类型,在返回数据时在客户端会自动包装成Json对象,对应你服务器的DataTable的结构。
value对象为包装好后的Table对象,有Rows属性,为json对象的数组,既然是数组,那么就由length属性了。
总的来说和服务器端操作DataTable对象差不多,只是不能使用索引来获取Rows中的列的值,需要属性。
示例如下
ajaxproDataTable.aspx
+展开
-HTML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxproDataTable.aspx.cs" Inherits="ajaxproDataTable" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>ajaxpro返回值类型总结-DataTable</title>
</head>
<body>
<script type="text/javascript">
function callback(r) {
var Table = r.value, rows = Table.Rows; //注意区分大小写
for (var i = 0; i < rows.length; i++) {
alert('Id:' + rows[i].Id + ' rndNum:' + rows[i].rndNum//这里需要属性名称来获取值,不能用索引
+ '\n\n' + 'Id:' + rows[i]['Id'] + ' rndNum:' + rows[i]['rndNum']//或者这样,一定要注意列名称的大小写,json属性是区分大小写的
+ '\n\n' + 'Id:' + rows[i][0] + ' rndNum:' + rows[i][1]//===这样获取不到值,为undefined
);
}
}
function callServer() {
ajaxproDataTable.LoadDataTable(callback);
}
</script>
<form id="form1" runat="server"><input type="button" value="获取DataTable对象" onclick="callServer()" /></form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>ajaxpro返回值类型总结-DataTable</title>
</head>
<body>
<script type="text/javascript">
function callback(r) {
var Table = r.value, rows = Table.Rows; //注意区分大小写
for (var i = 0; i < rows.length; i++) {
alert('Id:' + rows[i].Id + ' rndNum:' + rows[i].rndNum//这里需要属性名称来获取值,不能用索引
+ '\n\n' + 'Id:' + rows[i]['Id'] + ' rndNum:' + rows[i]['rndNum']//或者这样,一定要注意列名称的大小写,json属性是区分大小写的
+ '\n\n' + 'Id:' + rows[i][0] + ' rndNum:' + rows[i][1]//===这样获取不到值,为undefined
);
}
}
function callServer() {
ajaxproDataTable.LoadDataTable(callback);
}
</script>
<form id="form1" runat="server"><input type="button" value="获取DataTable对象" onclick="callServer()" /></form>
</body>
</html>
ajaxproDataTable.aspx.cs
+展开
-C#
using System;
using System.Data;
public partial class ajaxproDataTable : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxproDataTable));
}
private DataTable CreateDataTable()
{//创建DataTable
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("rndNum");
Random r = new Random();
for (int i = 0; i < 5; i++) dt.Rows.Add(i, r.Next(1, 1000));
return dt;
}
[AjaxPro.AjaxMethod]
public DataTable LoadDataTable()
{
return CreateDataTable();
}
}
using System.Data;
public partial class ajaxproDataTable : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxproDataTable));
}
private DataTable CreateDataTable()
{//创建DataTable
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("rndNum");
Random r = new Random();
for (int i = 0; i < 5; i++) dt.Rows.Add(i, r.Next(1, 1000));
return dt;
}
[AjaxPro.AjaxMethod]
public DataTable LoadDataTable()
{
return CreateDataTable();
}
}
类别:Asp.Net/C#/WCF 作者:波波 日期:2010-12-23 【评论:1】
相关文章
- ·ajaxpro返回值类型总结-DataSet
- ·ajaxpro返回值类型总结-string,int
- ·ajaxPro7.7.31.1返回DataTable,DateSet出错
- ·ajaxpro使用总结--总目录
- ·ajaxpro方法ajaxmethod调用示例
- ·ajaxpro综合示例-ajaxpro无刷新更新gridview数据
- ·ajaxpro ajaxmethod 重载调用问题
- ·ajaxPro7.7.31.1 出现this.onTimeout is not a function 的Bug解决方案
- ·php与mssql存储过程的返回值
- ·DataTable Compute方法
- ·DataTable,IList性能比较
- ·AjaxPro使用说明文档
- 红叶
日期:2010-12-25 15:35:49 IP:59.174.*.*
点击后数据没有显示。
发表留言
热门博文
- IE里Cookie跨域不能读取
- web服务因URL意外地以/**结束,请求格式无法识别
- 去掉隐藏asp.net编译出错aspxerrorpath错误参数
- 解决asp.net验证视图状态 MAC 失败
- 找不到System.Web.Script.Services.ScriptService
- 在aspx,ashx页面挂起线程执行
最新博文
- WCF利用限流(Throttling)控制并发访问[下篇]
- WCF利用限流(Throttling)控制并发访问[上篇]
- ConcurrencyMode.Multiple模式下的WCF服务同步上下文对并发的影响[下篇]
- ConcurrencyMode.Multiple模式下的WCF服务同步上下文对并发的影响[上篇]
- WCF基于ConcurrencyMode.Reentrant模式下的并发控制机制
- C#如何设置标记方法等为否决的不可用
随机博文
广告商赞助

