网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

在ASP.NET Atlas中调用Web Service

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12

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

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

  1. 在Web Service的方法上加上[WebMethod]属性。
  2. 在ASPX页面上的ScriptManager中添加对这个Web Service的引用。

 只需以上两步,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的引用:

<atlas:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
        <atlas:ServiceReference Path="SimpleWebService.asmx" />
    </Services>
</atlas:ScriptManager>

添加点HTML Code,让用户输入两个整数: Pass simple type to web service - add the two integers:<br />
<input id="int1" type="text" value="1" size="3" />+
<input id="int2" type="text" value="2" size="3" />=
<input id="btnAddInt" type="button" value="?" onclick="return btnAddInt_onclick()" /><br />
<br />

 再书写一点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;
}

 

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

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


public class ComplexNumber
{
    private int real;

    public int Real
    {
        get { return real; }
        set { real = value; }
   &

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号