ajaxpro返回值类型总结-DataSet
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返回值类型总结-DataSet
ajaxpro支持返回DataSet类型,在返回数据时在客户端会自动包装成Json对象,对应你服务器的DataSet的结构。
DataSet和DataTable差不多,只是多了一个Tables属性,json数组,通过索引获取返回的指定的Table【这里和服务器端DataSet有点小区别,就是在服务器端给DataTable赋值了name属性时,在客户端不能通过对应的name属性来获取Table对象,只能通过索引获取到】。
示例如下
ajaxproDataSet.aspx
+展开
-HTML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ajaxproDataSet.aspx.cs" Inherits="ajaxproDataSet" %>
<!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返回值类型总结-string</title>
</head>
<body>
<script type="text/javascript">
function callback(r) {
var DataSet = r.value, Tables = DataSet.Tables, rows; //注意区分大小写
for (var j = 0; j < Tables.length; j++) {
alert('下面输出:第“' + (j + 1) + '表”的数据行');
rows = Tables[j].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() {
ajaxproDataSet.LoadDataSet(callback);
}
</script>
<form id="form1" runat="server"><input type="button" value="获取DataSet对象" 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返回值类型总结-string</title>
</head>
<body>
<script type="text/javascript">
function callback(r) {
var DataSet = r.value, Tables = DataSet.Tables, rows; //注意区分大小写
for (var j = 0; j < Tables.length; j++) {
alert('下面输出:第“' + (j + 1) + '表”的数据行');
rows = Tables[j].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() {
ajaxproDataSet.LoadDataSet(callback);
}
</script>
<form id="form1" runat="server"><input type="button" value="获取DataSet对象" onclick="callServer()" /></form>
</body>
</html>
ajaxproDataSet.aspx.cs
+展开
-C#
using System;
using System.Data;
public partial class ajaxproDataSet : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxproDataSet));
}
private DataTable CreateDataTable(string tbName)
{//创建DataTable
DataTable dt = new DataTable(tbName);
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;
}
private DataSet CreateDataSet()
{
//创建DataSet对象
DataSet ds = new DataSet();
for (int i = 0; i < 2; i++) ds.Tables.Add(CreateDataTable("table" + i.ToString()));
return ds;
}
[AjaxPro.AjaxMethod]
public DataSet LoadDataSet()
{
return CreateDataSet();
}
}
using System.Data;
public partial class ajaxproDataSet : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxproDataSet));
}
private DataTable CreateDataTable(string tbName)
{//创建DataTable
DataTable dt = new DataTable(tbName);
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;
}
private DataSet CreateDataSet()
{
//创建DataSet对象
DataSet ds = new DataSet();
for (int i = 0; i < 2; i++) ds.Tables.Add(CreateDataTable("table" + i.ToString()));
return ds;
}
[AjaxPro.AjaxMethod]
public DataSet LoadDataSet()
{
return CreateDataSet();
}
}
加支付宝好友偷能量挖...
原创文章,转载请注明出处:ajaxpro返回值类型总结-DataSet