首页 > 技术文章 > Asp.net Ajax提供PageMethods调用

hellolong 2014-09-24 15:07 原文

页面上的Javascript通过ASP.NET AJAX除了可以调用Web服务类,还可以调用网页中的静态方法。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Services" %>
<%@ Import Namespace="System.Web.Script.Services" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    [WebMethod]
    [ScriptMethod(UseHttpGet = true)]
    public static string ServerTime()
    {
        return DateTime.Now.ToUniversalTime().ToString(); 
    }
</script>

<script type="text/javascript">
    function pageLoad() {
        $addHandler($get('timeButton'), 'click', getTime);
    }

    function getTime() {
        PageMethods.ServerTime(OnServerTimeComplete);
    }

    function OnServerTimeComplete(result, userContext, methodName) {
        alert(result);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ASP.NET AJAX PageMethod</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server"
            EnablePageMethods="true">
        </asp:ScriptManager>
        <div>
            <input type="button" value="Show Server Time" id="timeButton" />
        </div>
    </div>
    </form>
</body>
</html>

 

推荐阅读