首先我们今天要用到的是Ajax.NET Professional ,您可以从
http://www.schwarz-interactive.de/ 获取更多的信息
然后还需要知道Xml数据岛,先来看一个简单的绑定例子:
第一步先确定XML数据源
<
xml
ID
="xmlData"
name
="xmlData"
>
<
root
>
<
METADATA
>
<
AUTHOR
>
John Smith
</
AUTHOR
>
<
GENERATOR
>
Visual Notepad
</
GENERATOR
>
<
PAGETYPE
>
Reference
</
PAGETYPE
>
<
ABSTRACT
>
Specifies a data island
</
ABSTRACT
>
</
METADATA
>
<
METADATA
>
<
AUTHOR
>
John Smith2
</
AUTHOR
>
<
GENERATOR
>
Visual Notepad2
</
GENERATOR
>
<
PAGETYPE
>
Reference2
</
PAGETYPE
>
<
ABSTRACT
>
Specifies a data island2
</
ABSTRACT
>
</
METADATA
>
<
METADATA
>
<
AUTHOR
>
John Smith3
</
AUTHOR
>
<
GENERATOR
>
Visual Notepad3
</
GENERATOR
>
<
PAGETYPE
>
Reference3
</
PAGETYPE
>
<
ABSTRACT
>
Specifies a data island3
</
ABSTRACT
>
</
METADATA
>
</
root
>
</
xml
>
第二步确定绑定容器,在这里我们使用Table
<
TABLE
dataSrc
="#xmlData"
border
=1
>
<
TR
>
<
TD
><
span
dataFld
="AUTHOR"
>
loading...
</
span
></
TD
>
<
TD
><
span
dataFld
="GENERATOR"
>
loading...
</
span
></
TD
>
<
TD
><
span
dataFld
="PAGETYPE"
>
loading...
</
span
></
TD
>
<
TD
><
span
dataFld
="ABSTRACT"
>
loading...
</
span
></
TD
>
</
TR
>
</
TABLE
>
第一步:配置Ajax,在Web.config文件中加入配置节:
<
httpHandlers
>
<
add
verb
="POST,GET"
path
="ajaxpro/*.ashx"
type
="AjaxPro.AjaxHandlerFactory, AjaxPro"
/>
</
httpHandlers
>
第二步,编写返回数据集的代码:
public
class
MyClass

{
[AjaxMethod]
public string GetDataSet()

{
DataSet dst = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("Number");
Random random = new Random(Guid.NewGuid().GetHashCode());
for (int i = 0; i < random.Next(10,20); i++)

{
DataRow row = dt.NewRow();
row["Text"] = Guid.NewGuid().ToString("N");
row["Number"] = random.Next(100);
dt.Rows.Add(row);
}
dst.Tables.Add(dt);
string text = "";
using(MemoryStream ms = new MemoryStream())

{
dst.WriteXml(ms);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
text = sr.ReadToEnd();
}
return text;
}
}
第三步:在Page_Load中注册该方法,AjaxPro.Utility.RegisterTypeForAjax(typeof(WebTest1.AjaxTest1));(WebTest1是名称空间的名字)
第四步:添加客户端绑定
<
INPUT
onclick
="WebTest1.MyClass.GetDataSet(callback)"
type
="button"
value
="GetDataSet"
>
<
div
id
="oDataPanel"
>
</
div
>
<
TABLE
datasrc
="#xmlData"
WIDTH
="500"
BORDER
="1"
CELLSPACING
="1"
CELLPADDING
="1"
>
<
thead
>
<
tr
>
<
th
width
="70%"
>
姓名
</
th
>
<
th
width
="30%"
>
年龄
</
th
>
</
tr
>
</
thead
>
<
TR
>
<
TD
><
span
datafld
="Text"
></
span
></
TD
>
<
TD
><
span
datafld
="Number"
></
span
></
TD
>
</
TR
>
</
TABLE
>
<
div
id
="oDataPanel"
>
是准备用来存放Xml数据源的容器
第五步:编定加载数据的JavaScript代码
function
callback(res)

{
if(!res.error)

{
document.all.oDataPanel.innerHTML = '<xml id="xmlData">'+ res.value +'</xml>';
}
else

{
alert(res.error.Message);
}
}
然后还需要知道Xml数据岛,先来看一个简单的绑定例子:
第一步先确定XML数据源






























把这两段代码Copy到您的HTMl页面运行既可看到效果
第一段是我们的XML数据源,也就是要绑定的数据,METADATA结点相当于表名, AUTHOR、GENERATOR、PAGETYPE、ABSTRACT相当于列名,下面的Table是用来显示数据的容器。<TABLE dataSrc="#xmlData" border=1>是指定Table的数据源,<span dataFld="AUTHOR">loading...</span>绑定字段名。
第一步:配置Ajax,在Web.config文件中加入配置节:








































第四步:添加客户端绑定
















第五步:编定加载数据的JavaScript代码
















