主要代码
// js
<
script
type
="text/javascript"
>
function
GetProductData()
{
var
cb
=
function
(res) {
if
(res.error)
return
alert(
"
发生错误\n
"
+
res.error.Message);
//
debugger;
//
alert(res);
var
ds
=
res.value;
var
tbl
=
ds.Tables[
0
];
var
tblHtml
=
"
<table border=1>
"
;
//
表头
tblHtml
+=
"
<tr>
"
;
for
(
var
j
=
0
; j
<
tbl.Columns.length; j
++
) {
tblHtml
+=
"
<th>
"
+
tbl.Columns[j].Name
+
"
</th>
"
;
}
tblHtml
+=
"
</tr>
"
;
//
数据
for
(
var
i
=
0
; i
<
tbl.Rows.length; i
++
) {
tblHtml
+=
"
<tr>
"
;
for
(
var
j
=
0
; j
<
tbl.Columns.length; j
++
) {
tblHtml
+=
"
<td>
"
+
tbl.Rows[i][tbl.Columns[j].Name]
+
"
</td>
"
;
}
tblHtml
+=
"
</tr>
"
;
}
tblHtml
+=
"
</table>
"
;
var
divPro
=
document.getElementById(
"
divPro
"
);
divPro.innerHTML
=
tblHtml;
}
AjaxProSample.GetProductSet(cb);
}
</
script
>
//
.aspx.cs
[AjaxPro.AjaxNamespace(
"
AjaxProSample
"
)]
public
partial
class
AjaxPro_ReturnDataSet : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(
typeof
(AjaxPro_ReturnDataSet));
}
[AjaxPro.AjaxMethod]
public
static
DataSet GetProductSet()
{
return
CreateSampleProductSet();
}
sample data
#region
sample data
static
DataSet CreateSampleProductSet()
{
DataSet ds
=
new
DataSet();
ds.Tables.Add(CreateSampleProductData());
return
ds;
}
static
DataTable CreateSampleProductData()
{
DataTable tbl
=
new
DataTable(
"
Products
"
);
tbl.Columns.Add(
"
ProductID
"
,
typeof
(
int
));
tbl.Columns.Add(
"
ProductName
"
,
typeof
(
string
));
tbl.Columns.Add(
"
UnitPrice
"
,
typeof
(
decimal
));
tbl.Columns.Add(
"
CategoryID
"
,
typeof
(
int
));
tbl.Rows.Add(
1
,
"
Chai
"
,
18
,
1
);
tbl.Rows.Add(
2
,
"
Chang
"
,
19
,
1
);
tbl.Rows.Add(
3
,
"
Aniseed Syrup
"
,
10
,
2
);
tbl.Rows.Add(
4
,
"
Chef Anton's Cajun Seasoning
"
,
22
,
2
);
tbl.Rows.Add(
5
,
"
Chef Anton's Gumbo Mix
"
,
21.35
,
2
);
tbl.Rows.Add(
47
,
"
Zaanse koeken
"
,
9.5
,
3
);
tbl.Rows.Add(
48
,
"
Chocolade
"
,
12.75
,
3
);
tbl.Rows.Add(
49
,
"
Maxilaku
"
,
20
,
3
);
return
tbl;
}
#endregion
}
AjaxPro 支持直接返回 DataTable 和 DataView ,客户端读取方式同 DataSet
var tbl
=
res.value;
//
直接访问 DataTable
需要注意的是,返回 DataView,实际上是返回 DataView 关联的 DataTable 。
转自:http://www.cnblogs.com/Jinglecat/archive/2007/07/30/835850.html