• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP.NET 2.0 Ajax:调用Web Service

发布: 2008-4-09 11:07 | 作者: ASP.NET 2.0 Ajax | 来源: 希赛网 | 查看: 172次 | 进入软件测试论坛讨论

领测软件测试网

 

接下来即可用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;
  }

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网