yangyj1204 发表于 2008-11-13 15:49:52

asp.net ajax 1.0,hello world程序

asp.net ajax 1.0,hello world程序


    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>


<3>客户端脚本。调用服务的方法有些许改变。可以指定默

认的回调方法。

以下是引用片段:
<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客户端调用,必须给服务指明属性(为了

使用这一属性,需要引用 Microsoft.Web.Script.Services命名

空间)。

以下是引用片段:
1using System;
2using System.Web.Services;
3using System.Web.Services.Protocols;
4using Microsoft.Web.Script.Services;
5
6
7[WebServiceBinding(ConformsTo =

WsiProfiles.BasicProfile1_1)]
8
9public 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   
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}


395.html

流氓鱼 发表于 2008-11-15 00:01:17

页: [1]
查看完整版本: asp.net ajax 1.0,hello world程序