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