Ajax&Atlas(一)调用WebService
1. 简介
Atlas是微软提供给开发者的Ajax开发包,用于简化ajax,实现富客户端。可以在这个地址下载用于vs2005的Atlas项目模板,http://msdn.microsoft.com/asp.net/info/future/atlastemplate/下面是Atlas的整体架构图。(摘自Nikhil Kothari的PPT)
1. 示例分析
l 调用webservice
通过使用,发现Atlas调用webservice非常简单,先看一段代码,下面将对代码进行分析。







































通过上面的一段代码,我们可以发现,调用webserivce代码只有这样一段。






对于一般的开发者来说,调用webserivce所要做的只是在<head></head>中添加一个ScriptManager,然后在services中添加servicereference,并设置其属性为所要调用的*.asmx文件。
而对于调用部分,只需在<Script></Script>中使用javascript完成,只需要一句就完成了。


Samples.AspNet是webservice的命名空间,HelloWorld是方法,SrchElem.value是从TextBox中取得的值,而OnRequestComplete是另一个函数,用于调用完后的结果处理。
如果不想使用javascript,可以使用一个well-formed的XTML,需要两个步骤:
l 在<head></hea>中添加一个atlas:ScriptManager

它的作用是生成客户端的xml script。xml script是Atlas的客户端脚本语言,采用xml格式,语法比较像asp.net的控件声明语法。每个服务器控件都会生成html和xml script中的一种或两种。服务器控件向ScriptManager注册自己要生成的xml script, ScriptManager 管理并生成所有的xml script。(一个页面只能有一个ScriptManager)
l 在<body></body>添加一个XML Script的例子,代码如下。


































其中components中放一些UI,以及要调用的方法。对于UI,有一个属性targetElement,用于关联页面中所使用控件的ID。如果控件有事件,则在该控件下建立子标签,子标签名为事件名,然后将事件处理放在里面。binding标签中的 dataContext是数据来源的控件的ID,datatext是来源数据的类型。
3. 总结
简要介绍了通过atlas调用webservice的两种过程,以及对xml script的一些语法解释,对某些属性还是不太清楚,而且在网上也没找到关于xml script的语法的详细介绍,希望有的朋友发我一份(zmsx44@gmail.com)下一篇将做一个调用Google API的示例。