热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ajax.NET调用用WebService方法

Ajax.NET作为成熟的Ajax平台之一,由于和.NET平台一起都是微软开发的,所以用Ajax.NET的客户端脚本来调用.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. namespace WebService1
  11. {
  12.     /// 
  13.     /// Service1 的摘要说明
  14.     /// 
  15.     [WebService(Namespace = "http://tempuri.org/")]
  16.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  17.     [ToolboxItem(false)]
  18.     // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
  19.     [System.Web.Script.Services.ScriptService]
  20.     public class Service1 : System.Web.Services.WebService
  21.     {
  22.         [WebMethod]
  23.         public string HelloWorld()
  24.         {
  25.             return "Hello World";
  26.         }
  27.     }
  28. }

    注意,为WebService类加上属性[System.Web.Script.Services.ScriptService],它使得ASP.NET AJAX 可以从脚本中调用此 Web 服务.

    然后新增一Ajax Web页面,加页面中加入对WebService的引用,就可以编写脚本代码来调用这个WebService,代码如下:

  1. <%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeBehind&#61;"WebForm1.aspx.cs" Inherits&#61;"WebService1.WebForm1" %>
  2. <html xmlns&#61;"http://www.w3.org/1999/xhtml" >
  3. <head runat&#61;"server">
  4.     <title>无标题页title>
  5.     <script type&#61;"text/Javascript">
  6.     
  7.     function CallMethod()
  8.     {
  9.         WebService1.Service1.HelloWorld(SucceededCallback);
  10.     }
  11.     
  12.     function SucceededCallback(res)
  13.     {
  14.         alert(res);
  15.     }
  16.     
  17.     script>
  18. head>
  19. <body>
  20.     <form id&#61;"form1" runat&#61;"server">
  21.     <div>
  22.         <asp:ScriptManager ID&#61;"ScriptManager1" runat&#61;"server">
  23.             <Services>
  24.                 <asp:ServiceReference Path&#61;"~/Service1.asmx" />
  25.             Services>
  26.         asp:ScriptManager>
  27.     div>
  28.     <input id&#61;"Button2" type&#61;"button" value&#61;"调用WebService方法" onclick&#61;"CallMethod()" />
  29.     form>
  30. body>
  31. html>

    调用方法几乎和C#的函数调用是一样的,能过命名空间&#43;类型名&#43;方法名&#43;参数的形式调用.另外我们只需要加入一个回调方法来处理调用的返回结果,对于基本类型的参数,可以直接传递,复杂的参数我使用现在流行的JSON技术来做为数据传输的载体,关于JSON技术的可以参考下面这篇文章:

    JSON技术及其在 JBF for ASP.NET 的应用

    另外,极致业务基础平台的BS部分就是就是使用这总JS&#43;WEBSERVER的技术,现实友好的用户界面,可以从以下地址下载到平台的免费试用版.

    http://www.jeez.com.cn/jbf/


推荐阅读
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • 本文介绍了如何通过 XMLHttpRequest 对象在不同浏览器中实现 AJAX 的 POST 和 GET 请求,并详细说明了 XMLHttpRequest 的五个状态及其含义。 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • 使用 jQuery 实现页面加载进度条
    页面加载进度条是提升用户体验的重要工具,通过在页面头部显示一个加载状态,并在页面完全加载后隐藏,可以有效减少用户的等待焦虑。本文将详细介绍如何使用 jQuery 实现这一功能。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • 在React中使用setState时遇到错误,本文将详细分析错误原因并提供解决方案。 ... [详细]
  • 本文探讨了异步编程的发展历程,从最初的AJAX异步回调到现代的Promise、Generator+Co以及Async/Await等技术。文章详细分析了Promise的工作原理及其源码实现,帮助开发者更好地理解和使用这一重要工具。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
author-avatar
思念如此难受_351
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有