第三部分 02 在ASP.NET AJAX应用程序中使用JavaScript异步调用Page的方法

第三部分01中我们将方法写在Web服务中,但通常我们会将一些方法写在页面的.cs文件中,那么,如何使用JavaScript异步调用这些方法呢?下面给出解决方案

一  Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Services;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [WebMethod]
    public static string SayHelloFromPage(string strName)
    {
        return string.Format("Hello {0} !", strName);
    }

}

二  Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <script language="javascript" type="text/javascript">
        function callService()
        {
            var name = $get("text1").value;
            PageMethods.SayHelloFromPage(name, onSayHelloSucceeded);
        }
        function onSayHelloSucceeded(result)
        {
            $get("result").innerHTML = result;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" enablepagemethods="true">
        </asp:ScriptManager>
        <div id="div1">
            <input id="text1" type="text" />
            <input id="button1" type="button" value="Say Hello" onclick="callService()" />
            <div id="result"></div>

        </div>
    </form>
</body>
</html>

三  总结
1.    ScriptManager的属性enablepagemethods要设置为True
2.    在客户端使用如下JavaScript语法调用该页面方法
          PageMethods.[MethodName](param1, param2 …, callbackFunction)
3.    方法要声明为public static
4.    添加using System.Web.Services命名空间;
5.    方法要添加[WebMethod]

四 参考文章
http://www.cnblogs.com/dflying/archive/2007/06/05/771490.html

posted on 2007-06-06 11:03  小乔的闺房  阅读(245)  评论(0)    收藏  举报

导航