在ASP.NET Atlas中调用Web Service

  Atlas Framework中包含了对AJAX调用的封装,让您可以很方便的在客户端通过Script调用端方法。在本篇文章中,我将解释一下如何使用Atlas调用端Web Service。

  使用Atlas,我们只需要如下步骤即可调用服务器端Web Service:

  在Web Service的方法上加上[WebMethod]属性。

  在ASPX页面上的ScriptManager中添加对这个Web Service的引用。xlpwd.com

  只需以上两步,Atlas会在运行时为您生成相应的mash up,让您可在客户端Script中通过WebServiceClassName.ServiceMethodName()调用该方法。

  让我们先来看一个最简单的例子,调用服务器端Web Service得到两个数的和:

  首先建立一个Web Service:SimpleWebService.asmx,并在其中添加一个Service Method,不要忘记标记为[WebMethod]哦:

  [WebMethod]

  public int AddInt(int int1, int int2)

  {

  return int1 + int2;

  }

  然后再ASPX页面上的ScriptManager中添加对该Web Service的引用:akigd.com

  添加点HTML Code,让用户输入两个整数: Pass simple type to web service - add the two integers:

  +

  =

  再书写一点JavaScript,当用户点击上面的按钮时,调用Web Method。这里要注意的是JavaScript中调用Web Method的格式:前面两个参数int1,int2分别对应着Web Service声明中的两个参数,后面一个参数onAddIntComplete表示方法成功返回时的Callback方法,也就是所谓AJAX中的A。同时需要注意的是$()方法,等同于document.getElementById()。

  function btnAddInt_onclick() {

  var int1 = $('int1').value;

  var int2 = $('int2').value;

  SimpleWebService.AddInt(int1, int2, onAddIntComplete);

  }

  function onAddIntComplete(result) {

  $('btnAddInt').value = result;

  }

  上面的例子仅仅传递简单类型,然而在现实世界中,我们经常会需要传递一些复杂的类型,让我们看一个传递复杂类型的例子:asifv.com

  本例子同样是一个加法,不过这回操作的类型是复数。让我们先来看看中我们的复数的定义(作为示例,这里尽可能的简化)。注意我们应该提供自定义的复杂类型一个无参的构造函数,以便于Atlas自动在类型和JavaScript类型中转换:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值