安全中国首页 > 编程中心 > .NET编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

ASP.NET 2.0 Ajax:调用Web Service[3]

更新时间:2008-7-27 14:34:17
责任编辑:ShellExp
热 点:

  接下来即可用ASP.NET AJAX异步调用这个Web Service了。首先新建一个ASP.NET页面。当然,该页面所在的Web站点必须已经配置好了ASP.NET AJAX的支持,详细配置方法请参考本书第Ⅰ卷。在该页面上添加一个ScriptManager服务器端控件,这是每一个ASP.NET AJAX应用程序都必不可少的:

  为了让ASP.NET AJAX为前面的Web Service生成客户端异步调用代理,我们需要在Script- Manager控件中添加该Web Service的引用:

  这种声明语法隐约中传递了这样的含义:Web Service的客户端异步调用代理脚本将由ScriptManager控件管理——这非常自然,不是吗?ScriptManager就是用来管理(manage)脚本(script)的呀!关于标签以及标签的详细使用方法,在本书第Ⅰ卷中已经有详细讨论,这里不赘。

  随后声明程序界面中必不可少的UI元素:
  onclick="return btnInvoke_onclick()" />

  其中id为tbName的 作为文本框,用来让用户输入名字;id为btnInvoke的作为按钮,点击将触发异步调用Web Service;id为result的

  则用来将Web Service返回的问候内容显示出来。这些id均将在稍后用到。

  上面代码中btnInvoke按钮定义了click事件的事件处理函数,该函数的实现如下。注意这是客户端JavaScript代码:
  function btnInvoke_onclick() {
  var theName = $get("tbName").value;
  SimpleWebService.SayHello(theName, onSayHelloSucceeded);
  }

  首先用$get ("tbName").value取得了用户在文本框中输入的文字。然后第二句Simple- WebService.SayHello()即调用了ASP.NET AJAX异步通信层自动为SimpleWebService生成的客户端代理。这是本示例程序中最为重要的一句——与用C#在Web Service中声明的SayHello()方法签名相比,其参数个数以及顺序均完全一样,甚至调用语法也没什么特别之处,都是[NameSpace]. [ClassName].[MethodName](param1,param2,...,callbackFunction)。由此我们能够看出 ASP.NET AJAX异步通信层为降低开发者学习曲线、提高开发者生产效率所做出的努力及良苦用心。

  关于用来取得DOM元素引用的$get()方法,请参考本卷第1章中的介绍。

  客户端代理还提供了额外的一个参数——异步调用的回调函数名称,这里为onSayHelloSu- cceeded。该回调函数将在服务器端异步调用成功返回后由ASP.NET AJAX异步通信层自动调用。onSayHelloSucceeded()回调函数的代码如下:
  function onSayHelloSucceeded(result) {
  $get("result").innerHTML = result;
  }

 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
相关编程
一日一文章
 
一日一软件
一日一动画