设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

ASP.NET AJAX Beta2 调用本地WebService的一些改变

作者:佚名 出处:网络转载 时间:11-10 点击:

内容载入中...
     发现最新版本的改动很大,下面就测试情况作一下说明(这里借用官方的例子):
  
  1、首先建一个WebService 文件(HelloWorldService.asmx),代码如下:
  
  <%@ WebService Language="C#" Class="Samples.AspNet.HelloWorldService" %>
  
  using System;
  using System.Web;
  using System.Web.Services;
  using System.XML;
  using System.Web.Services.Protocols;
  using Microsoft.Web.Script.Services;
  
  namespace Samples.ASPNet
  {
  
   [WebService(Namespace = "http://tempuri.org/")]
   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
   [ScriptService]
   public class HelloWorldService : System.Web.Services.WebService
   {
  
   [WebMethod]
   public string HelloWorld(String query)
   {
   string inputString = Server.HTMLEncode(query);
   if (!String.IsNullOrEmpty(inputString))
   {
   return String.Format("Hello, you queried for {0}. The "
   + "current time is {1}", inputString, DateTime.Now);
   }
   else
   {
   return "The query string was null or empty";
   }
   }
   }
  }
  这里要说明的是[ScriptService] 属性,只有加上这个性属性,才能在页面中通过js进行异步调用;
  
  2、建一个调用页面(AjaxScript1.ASPx),如下:
  <%@ Page Language="C#" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
  <html xmlns="http://www.w3.org/1999/xhtml">
  
   <head id="Head1" runat="server">
   <title="测试一" />
   <style type="text/CSS">
   body { font: 11pt Trebuchet MS;
   font-color: #000000;
   padding-top: 72px;
   text-align: center }
  
   .text { font: 8pt Trebuchet MS }
   </style>
  
   </head>
   <body>
   <form id="Form1" runat="server">
   <asp:ScriptManager runat="server" ID="scriptManager">
   <Services>
   <asp:ServiceReference path="~/HelloWorldService.asmx" />
   </Services>
   </asp:ScriptManager>
  
   <div>
   Search for
   <input id="SearchKey" type="text" />
   <input id="SearchButton" type="button" value="Search"
   onclick="DoSearch()" />
   </div>
   </form>
   <hr style="width: 300px" />
   <div>
   <span id="Results"></span>
   </div>
   <script type="text/javascript">
  
   function DoSearch()
   {
   var SrchElem = document.getElementById("SearchKey");
   Samples.ASPNet.HelloWorldService.HelloWorld(SrchElem.value, OnRequestComplete);
   }
  
   function OnRequestComplete(result)
   {
   var RsltElem = document.getElementById("Results");
   RsltElem.innerHTML = result;
   }
  
   </script>
   </body>
  </html>
  
  注意,这里的<asp:ScriptManager runat="server" ID="scriptManager">
   <Services>
   <asp:ServiceReference path="~/HelloWorldService.asmx" />
   </Services>
   </asp:ScriptManager>
  放在<form>中了。
  
  改变好像挺大!
  
  http://www.cnblogs.com/seekinghu/archive/2006/11/07/552998.HTML
  
    。

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息