以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』 (http://bbs.xml.org.cn/list.asp?boardid=22) ---- [原创]Ajax.NET 调用WebService方法 (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=65841) |
-- 作者:szjz -- 发布时间:8/12/2008 3:47:00 PM -- [原创]Ajax.NET 调用WebService方法 Ajax.NET作为成熟的Ajax平台之一,由于和.NET平台一起都是微软开发的,所以用Ajax.NET的客户端脚本来调用.NET开发的WebService将是一个很简单的事情,这是令人很兴奋的事情之一. 下面将一步一步介绍调用的过程.首先我们先用VS2008新增一个WebService,其代码如下: 1. using System; 2. using System.Collections; 3. using System.ComponentModel; 4. using System.Data; 5. using System.Linq; 6. using System.Web; 7. using System.Web.Services; 8. using System.Web.Services.Protocols; 9. using System.Xml.Linq; 10. 11. namespace WebService1 12. { 13. /// <summary> 14. /// Service1 的摘要说明 15. /// </summary> 16. [WebService(Namespace = "http://tempuri.org/")] 17. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 18. [ToolboxItem(false)] 19. // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 20. [System.Web.Script.Services.ScriptService] 21. public class Service1 : System.Web.Services.WebService 22. { 23. 24. [WebMethod] 25. public string HelloWorld() 26. { 27. return "Hello World"; 28. } 29. } 30. } 注意,为WebService类加上属性[System.Web.Script.Services.ScriptService],它使得ASP.NET AJAX 可以从脚本中调用此 Web 服务. 然后新增一Ajax Web页面,加页面中加入对WebService的引用,就可以编写脚 本代码来调用这个WebService,代码如下: 1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebService1.WebForm1" %> 2. 3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4. 5. <html xmlns="http://www.w3.org/1999/xhtml" > 6. <head runat="server"> 7. <title>无标题页</title> 8. <script type="text/javascript"> 9. 10. function CallMethod() 11. { 12. WebService1.Service1.HelloWorld(SucceededCallback); 13. } 14. 15. function SucceededCallback(res) 16. { 17. alert(res); 18. } 19. 20. </script> 21. </head> 22. <body> 23. <form id="form1" runat="server"> 24. <div> 25. <asp:ScriptManager ID="ScriptManager1" runat="server"> 26. <Services> 27. <asp:ServiceReference Path="~/Service1.asmx" /> 28. </Services> 29. </asp:ScriptManager> 30. </div> 31. <input id="Button2" type="button" value="调用WebService方法" onclick="CallMethod()" /> 32. </form> 33. </body> 34. </html> 调用方法几乎和C#的函数调用是一样的,能过命名空间+类型名+方法名+参数的形式调用.另外我们只需要加入一个回调方法来处理调用的返回结果,对于基本类型的参数,可以直接传递,复杂的参数我使用现在流行的JSON技术来做为数据传输的载体,关于JSON技术的可以参考下面这篇文章: JSON技术及其在 JBF for ASP.NET 的应用 另外,极致业务基础平台的BS部分就是就是使用这总JS+WEBSERVER的技术,现实友好的用户界面,可以从以下地址下载到平台的免费试用版. http://www.jeez.com.cn/upfiles/jbfsetup.rar |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |