Ajax&Atlas(一)调用WebService

1.         简介

Atlas是微软提供给开发者的Ajax开发包,用于简化ajax,实现富客户端。可以在这个地址下载用于vs2005Atlas项目模板,http://msdn.microsoft.com/asp.net/info/future/atlastemplate/下面是Atlas的整体架构图。(摘自Nikhil KothariPPT)


1.         示例分析

l         调用webservice

通过使用,发现Atlas调用webservice非常简单,先看一段代码,下面将对代码进行分析。

Ajax&Atlas(一)调用WebService<head id="Head1" runat="server">
Ajax&Atlas(一)调用WebService  
<atlas:ScriptManager runat="server" ID="scriptManager">
Ajax&Atlas(一)调用WebService    
<services>
Ajax&Atlas(一)调用WebService      
<atlas:servicereference path="HelloWorldService.asmx" 
Ajax&Atlas(一)调用WebService        type
="text/javascript" />
Ajax&Atlas(一)调用WebService    
</services>
Ajax&Atlas(一)调用WebService  
</atlas:ScriptManager>
Ajax&Atlas(一)调用WebService
</head>
Ajax&Atlas(一)调用WebService
<body>
Ajax&Atlas(一)调用WebService
<form id="Form1" runat="server">
Ajax&Atlas(一)调用WebService  
<div>
Ajax&Atlas(一)调用WebService    Search for 
Ajax&Atlas(一)调用WebService    
<input id="SearchKey" type="text" />
Ajax&Atlas(一)调用WebService    
<input id="SearchButton" type="button" value="Search" 
Ajax&Atlas(一)调用WebService      onclick
="DoSearch()" />
Ajax&Atlas(一)调用WebService  
</div>
Ajax&Atlas(一)调用WebService
</form>
Ajax&Atlas(一)调用WebService
<hr style="width: 300px" />
Ajax&Atlas(一)调用WebService
<div>
Ajax&Atlas(一)调用WebService
<span id="Results"></span>
Ajax&Atlas(一)调用WebService
</div> 
>

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

Ajax&Atlas(一)调用WebService<atlas:ScriptManager runat="server" ID="scriptManager">
Ajax&Atlas(一)调用WebService    
<services>
Ajax&Atlas(一)调用WebService      
<atlas:servicereference path="HelloWorldService.asmx" 
Ajax&Atlas(一)调用WebService        type
="text/javascript" />
Ajax&Atlas(一)调用WebService    
</services>
Ajax&Atlas(一)调用WebService  
</atlas:ScriptManager>

对于一般的开发者来说,调用webserivce所要做的只是在<head></head>中添加一个ScriptManager,然后在services中添加servicereference,并设置其属性为所要调用的*.asmx文件。

而对于调用部分,只需在<Script></Script>中使用javascript完成,只需要一句就完成了。

 

Ajax&Atlas(一)调用WebService Samples.AspNet.HelloWorldService.HelloWorld(SrchElem.value, 
Ajax&Atlas(一)调用WebService      OnRequestComplete);


 

Samples.AspNetwebservice的命名空间,HelloWorld是方法,SrchElem.value是从TextBox中取得的值,而OnRequestComplete是另一个函数,用于调用完后的结果处理。

如果不想使用javascript,可以使用一个well-formedXTML,需要两个步骤:

l         <head></hea>中添加一个atlas:ScriptManager

Ajax&Atlas(一)调用WebService<atlas:ScriptManager runat="server" ID="scriptManager" />

它的作用是生成客户端的xml scriptxml scriptAtlas的客户端脚本语言,采用xml格式,语法比较像asp.net的控件声明语法。每个服务器控件都会生成htmlxml script中的一种或两种。服务器控件向ScriptManager注册自己要生成的xml script, ScriptManager 管理并生成所有的xml script。(一个页面只能有一个ScriptManager)


 

l         <body></body>添加一个XML Script的例子,代码如下。

>

其中components中放一些UI,以及要调用的方法。对于UI,有一个属性targetElement,用于关联页面中所使用控件的ID。如果控件有事件,则在该控件下建立子标签,子标签名为事件名,然后将事件处理放在里面。binding标签中的 dataContext是数据来源的控件的IDdatatext是来源数据的类型。

     

 

3.         总结

简要介绍了通过atlas调用webservice的两种过程,以及对xml script的一些语法解释,对某些属性还是不太清楚,而且在网上也没找到关于xml script的语法的详细介绍,希望有的朋友发我一份(zmsx44@gmail.com)下一篇将做一个调用Google API的示例。

相关文章:

  • 2022-03-09
  • 2021-12-05
  • 2021-11-04
  • 2021-12-15
  • 2021-06-08
  • 2021-08-02
  • 2021-05-15
  • 2021-09-29
猜你喜欢
  • 2021-09-08
  • 2021-09-01
  • 2021-12-28
  • 2022-02-15
  • 2022-12-23
  • 2021-10-05
相关资源
相似解决方案