扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:dotnetWalker 来源:CSDN 2007年11月20日
关键字: ASP.NET AJAX Web Services 调用
这也是整个
当然,因为通过这样的方式,您必须自行建立一些JavaScript代码,所以这种模式比较适合过去曾经自行搭建过AJAX机制,或是利用ASP.NET 2.0中的Call Back技术来实现过AJAX功能的Web程序
请看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代码:
这和过去我们编写的Web Services几乎完全一样,不同的地方是在.asmx文件类别声明的Attribute,和WebMethod的Attribute(增加了System.Web.Script.Services.ScriptMethod)。
另外请注意这个Web Servces,具有一个format参数传入(通过Client端的JavaScript传入的),而这个Web Services的代码很简单,依照传入的format格式回传目前服务器端的时间。
编写好代码之后,接着我们建立一个.aspx文件,并且拖曳ScriptManager、TextBox和一个Html Button:
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者