在ASP.NET Atlas中调用Web Service

  • 时间:
  • 浏览:0

Atlas Framework含有 高了对AJAX调用的封装,让您还可以 很方便的在客户端通过JavaScript调用服务器端方式 。在本篇文章中,我将解释一下怎样才能使用Atlas调用服务器端Web Service。

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

在Web Service的方式 加进进[WebMethod]属性。

在ASPX页面上的ScriptManager中加进对你這個 Web Service的引用。

只需以上两步,Atlas会在运行时为您生成相应的mash up,让您可在客户端JavaScript中通过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的引用:

上端的例子仅仅传递简单类型,然而在现实世界中,我们老是会前要传递你這個繁复的类型,否则你门看一有兩个 传递繁复类型的例子:

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

public class ComplexNumber

  {

   private int real;

  

   public int Real

   {

   get { return real; }

   set { real = value; }

   }

   private int imag;

  

   public int Imag

   {

   get { return imag; }

   set { imag = value; }

   }

   public ComplexNumber(int real, int imag)

   {

   this.real = real;

   this.imag = imag;

   }

   public ComplexNumber()

   {

   }

  }

否则是实现复数加法的Web Method,写在同一有兩个 Web Service中:  

[WebMethod]

  public ComplexNumber AddComplexNumber(ComplexNumber num1, ComplexNumber num2)

  {

   return new ComplexNumber(num1.Real + num2.Real, num1.Imag + num2.Imag);

  }

相应的ASPX页面中也要加进你這個HTML,让用户输入一有兩个 复数:

Pass complex type to web service - add the two complex numbers: 

  

  否则是相应的JavaScript,当用户点击上端的按钮时,执行这段JavaScript以调用Web Method。



  function btnAddComplex_onclick() {

   var cplx1 = {Real: $('cplx1r').value, Imag: $('cplx1i').value};

   var cplx2 = {Real: $('cplx2r').value, Imag: $('cplx2i').value};

   SimpleWebService.AddComplexNumber(cplx1, cplx2, onAddComplextNumberComplete);

  }

  function onAddComplextNumberComplete(result) {

   $('btnAddComplex').value = result.Real.toString() + ' + ' + result.Imag.toString() + 'i';  }

加进点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;

  }

有好的文章希望站长之家帮助分享推广,猛戳这里我想投稿