您的位置:首页 > 编程语言 > ASP

ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

2008-10-05 19:11 579 查看
使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也没什么大的差别.

在ASP.NET应用程序里使用ASP.NET AJAX访问WebService通常都是通过ScriptMananger引入WebService生成客户端代理的方法,同时也可以使用Microsoft Ajax Library来完成.本文将介绍在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService(ScriptManager和Microsoft Ajax Library两种方式).

1.准备工作

新建ASP.NET MVC应用程序,如果是Microsoft ASP.NET MVC CodePlex Preview 5新建MVC应用程序后将会自动引入Microsoft Ajax Library,如下截图:

<body>

2 <form id="form1" runat="server">

3 <div>

4 <asp:ScriptManager ID="ScriptManager1" runat="server">

5 <Services>

6 <asp:ServiceReference Path="~/Services/AjaxService.asmx" />

7 </Services>

8 </asp:ScriptManager>

9 <input id="btnRequest" type="button" value="GetUser" onclick="return btnRequest_onclick()" />

10 <hr />

11 <div id="result"></div>

12

13 <hr />

14 <input id="txtID" type="text" /><br/>

15 <input id="txtName" type="text" /><br/>

16 <input id="txtPassword" type="text" /><br/>

17 <input id="Button1" type="button" value="SetUser" onclick="return btnRequestClick()" />

18 </div>

19 </form>

20</body>

在可户端调用也和传统的ASP.NET里调用一样,通过[命名空间.类名.方法名(参数列表....)]这种方式调用WebService.

1 <script language="javascript" type="text/javascript">

2 function btnRequest_onclick()

3 {

4 MvcAndAjax.Services.AjaxService.GetUser(success);

5 }

6

7 function btnRequestClick()

8 {

9 var jsonUser = {

10 "ID":$get("txtID").value,

11 "Name":$get("txtName").value,

12 "Passwrod":$get("txtPassword").value

13 };

14 MvcAndAjax.Services.AjaxService.SetUser(jsonUser,success);

15 }

16

17 function success(result)

18 {

19 var user=String.format("ID:{0}<br/>Name:{1}<br/>Password:{1}",result.ID,result.Name,result.Password);

20 $get("result").innerHTML=user;

21 }

22 </script>
因为和传统ASP.NET一样,这里就不作详细介绍,本文后面将提供示例程序下载,可以直接查看示例程序.

3. 通过Microsoft Ajax Library在客户端异步访问WebService

使用Library很简单,之前使用的是ScriptManager,要使用Library其实也就是用它来代替ScriptManager去完成引入WebService到客户端以生成客户端代理.OK,下面我们将页面上的ScriptManager去掉,在页面的<head>下引入Microsoft Ajax Library.并通过Microsoft Ajax Library来生成客户端代理.代码如下:

1 <script type="text/javascript" src="http://www.cnblogs.com/Content/MicrosoftAjax.js"></script>

2 <script type="text/javascript" src="/Services/AjaxService.asmx/js"></script>

我们只需要如上引入Microsoft Ajax Library,然后生成WebService的客户端代理就可以了,现在运行程序便如上面使用ScriptManager引入WebService生成客户端代理一样.

本文就介绍到这里,详细可下载示例程序查看.

示例程序下载:[b]点击下载[/b]

注:原创文章欢迎转载,未经允许请注明出处:http://beniao.cnblogs.com/http://www.cnblogs.com/ 作者:Beniao
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: