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

王朝asp·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

发现最新版本的改动很大,下面就测试情况作一下说明(这里借用官方的例子):

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航