首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ
天极网 > 开发频道>ASP.NET AJAX中的异步Web Services调用

ASP.NET AJAX中的异步Web Services调用

2007-11-11 09:00作者:dotnetWalker出处:CSDN责任编辑:幽灵

  在ASP.NET AJAX当中,除了通过UpdatePanel机制来建立具有AJAX功能的Web应用程序外,其实传统(较为典型)的做法是利用Web Services的概念,来实现网页上异步调用的工作。

  这也是整个ASP.NET AJAX架构的基础,以及UpdatePanel控件的根本原理。

  当然,因为通过这样的方式,您必须自行建立一些JavaScript代码,所以这种模式比较适合过去曾经自行搭建过AJAX机制,或是利用ASP.NET 2.0中的Call Back技术来实现过AJAX功能的Web程序开发人员。虽然通过这样的方式您要手动建立一些额外的JavaScript,看起来也比较难,但是对于整个 AJAX的技术掌握度相对的也会更加深入。

  请看AJAX技术架构,整个原理其实如下图:

AJAX技术架构

  以一个最常见的功能(抓取Server端的时间放入TextBox)为例,我们想在单击网页上的按钮之后,在不postback的状况底下,取得服务器端的时间,并填入TextBox中。

  上图中的网页有一个TextBox与一个HTML Button,当我们单击页面上这个HTML Button时,开始触发一连串的异步Web Services调用动作:

  1. 首先,用户单击按钮,浏览器上的Html Button发生了一个JavaScript的onclick事件(注意,由于是Cient端的onclick事件,因此不会触发Postback动作)。

  2. 我们在这个JavaScript的onclick事件当中,要调用远端服务器上的Web Services(假设这个服务器端的Web Services会以字符串格式回传服务器端的时间。

  3. 接着在浏览器上(的网页)利用一段已经编写好的JavaScript子程序接收此字符串。

  4. 再通过JavaScript子程序将接收到的字符串填入TextBox。

  完成。

  通过上面这个步骤,我们就可以在不Postback的状况下,将TextBox的内容更新为目前服务器端的时间。

  我们接着看下面的范例,您会发现即使不使用UpdatePanel,依旧可以在ASP.NET网页中完成AJAX功能。

  要完成这样的工作,我们需要先建立一个Web Services,称为WS.asmx,负责回传服务器端的时间,在这个.asmx文件中,键入底下的Web Services代码:

ASP.NET AJAX中的异步Web Services调用

  这和过去我们编写的Web Services几乎完全一样,不同的地方是在.asmx文件类别声明的Attribute,和WebMethod的Attribute(增加了System.Web.Script.Services.ScriptMethod)。

  另外请注意这个Web Servces,具有一个format参数传入(通过Client端的JavaScript传入的),而这个Web Services的代码很简单,依照传入的format格式回传目前服务器端的时间。

  编写好代码之后,接着我们建立一个.aspx文件,并且拖曳ScriptManager、TextBox和一个Html Button:

ASP.NET AJAX中的异步Web Services调用

共2页。 12下一页
进入 最权威的Windows 7论坛 查看网友讨论

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

软件下载

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新
天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络