快速业务通道

ASP.NET AJAX:UpdatePanel控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-13
以从客户端脚本调用。

除了允许常规 WebMethods 充当 XML-HTTP 请求的目标之外,ASP.NET AJAX 还支持一种特殊类别的 Web 方法,称为页面方法。页面方法是在 Web 页面中实现的 WebMethods,也就是在 ASPX 文件或 codebehind 文件中,而不是在 ASMX 文件中。Page 方法允许开发人员在不构建专业 Web 服务的情况下提供用于 XML-HTTP 回调的端点。

页面方法必须是公开的静态方法,并且和 WebMethods 一样,必须具有 WebMethod 属性。(WebMethods 和页面方法还可以具有 ScriptMethod 属性,该属性可提供退出网络的附加控件。)在客户端,页面方法可以通过特殊的 PageMethods 代理从 JavaScript 调用。
与 Web 服务不同,页面方法无需服务引用。但是,您必须通过将 ScriptManager 控件的 EnablePageMethods 属性设置为 true 来启用页面方法,如下所示:

<asp:ScriptManager ID=”ScriptManager1” runat=”server”
  EnablePageMethods=”true” />

实质上,页面方法提供了与 WebMethods 一样的高效性。当调用页面方法时,视图状态和其他输入未被传送到服务器。并且既然页面方法都是静态的,那么就可以在没有实例化页面对象的情况下调用它们。对页面方法的调用不会调用由常规 ASP.NET 请求触发的页面生命周期。

Web Service != SOAP 和 XML

ASP.NET AJAX 最重要的功能之一是可以调用使用浏览器客户端的异步 XML-HTTP 请求的服务器上的 WebMethods 和页面方法。但是当我告诉别人这个功能的时候,我不禁感觉有点畏缩。

我们大多数人听到“Web 服务”这个术语时,都会想到 SOAP 和 XML。为了语言简练,通常不会在同一个句中同时提到这两种技术。是的,您可以使用 ASP.NET AJAX 从 JavaScript 中调用 WebMethods。但是您错了,ASP.NET AJAX 并不使用 SOAP 和 XML。

图 5 显示了当执行图 4 中的 Web 方法调用时在网络中传输的数据。除了 HTTP 标头外,请求中被传输的唯一数据是用户键入的 ZIP Code,而响应中返回的唯一数据是一对表示城市和州的字符串。您不会看到任何 SOAP 或 XML(或视图状态,就此而言)。相反,输入和输出会通过使用 JavaScript Object Notation (JSON) 进行编码,它比 XML 简短得多,也更易处理。请求和响应并不使用 SOAP,而是使用一个简单的协议,而这个协议基本上就是 HTTP。HTTP 和 JSON 的组合使对 WebMethods 和页面方法的 ASP.NET AJAX 调用比传统的 Web 服务调用要有效得多。

 Figure 5 JSON 编码的输入和输出

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号