asp.net ajax跟atlas有了很大不同。从这个简单的例子中可以看出几点。
<1>新建一个asp.net ajax-enabled web site
<2>页面布局。Server Controls的标签前缀(Tag Prefix)由atlas变为asp;
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="HelloWorld" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head runat="server">
<title>Hello</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/HelloWorldService.asmx" />
</Services>
</asp:ScriptManager>
<div>
你的名字:
<input type="text" maxlength="20" id="name" />
<input type="button" id="button1" value="问候" onclick="SayHello()" />
<div id="result"></div>
</div>
</form>
</body>
</html>
<script type="text/javascript">
function SayHello()
{
var fs = HelloWorldService;
fs.set_defaultSucceededCallback(OnShow);
fs.HelloWorld(document.getElementById("name").value);
}
function OnShow(result)
{
var s = document.getElementById("result");
s.innerText = result;
}
</script>
<4>HelloWorldService服务代码。为了能使服务被asp.net ajax客户端调用,必须给服务指明[ScriptService]属性(为了使用这一属性,需要引用Microsoft.Web.Script.Services命名空间)。
1
using System;
2
using System.Web.Services;
3
using System.Web.Services.Protocols;
4
using Microsoft.Web.Script.Services;
5
6
[WebService(Namespace = "http://tempuri.org/")]
7
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
8
[ScriptService]
9
public class HelloWorldService : System.Web.Services.WebService {
10
11
public HelloWorldService () {
12
13
//Uncomment the following line if using designed components
14
//InitializeComponent();
15
}
16
17
[WebMethod]
18
public string HelloWorld(string name) {
19
string hello = String.IsNullOrEmpty(name) ? "无名氏" : name;
20
hello += "你好,当前服务器时间是:";
21
hello += DateTime.Now.ToUniversalTime();
22
return hello;
23
}
24
25
}
using System;2
using System.Web.Services;3
using System.Web.Services.Protocols;4
using Microsoft.Web.Script.Services;5

6
[WebService(Namespace = "http://tempuri.org/")]7
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]8
[ScriptService]9
public class HelloWorldService : System.Web.Services.WebService {10

11
public HelloWorldService () {12

13
//Uncomment the following line if using designed components 14
//InitializeComponent(); 15
}16

17
[WebMethod]18
public string HelloWorld(string name) {19
string hello = String.IsNullOrEmpty(name) ? "无名氏" : name;20
hello += "你好,当前服务器时间是:";21
hello += DateTime.Now.ToUniversalTime();22
return hello;23
}24
25
}


浙公网安备 33010602011771号