客户端访问PageMethod

•服务器端
–只能在aspx页面中定义
–只能是公开静态方法
–使用WebMethodAttribute标记
–ScriptManager的EnablePageMethods属性设为true
•客户端
–通过PageMethods.MethodName访问

aspx
    <form id="form1" runat="server">
        
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
        
        
<input type="button" value="Get Current Time" onclick="getCurrentTime()" />
    
        
<script language="javascript" type="text/javascript">
            function getCurrentTime()
            {
                PageMethods.GetCurrentTime(getCurrentTimeSucceeded);
            }
            
            function getCurrentTimeSucceeded(result)
            {
                alert(result);
            }
        
</script>
    
</form>

cs
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [WebMethod]
    
public static DateTime GetCurrentTime()
    {
        
return DateTime.UtcNow;
    }

 

如果出现PageMethods未定义的错误,请检查:
1.ScriptManager的属性 EnablePageMethods设为true
2.调用的方法要加上[System.Web.Services.WebMethod]修饰
3.调用的函数代码不能加载母板页的cs中,如果有母板页,请加到子页cs页中去

原文地址:https://www.cnblogs.com/timy/p/1172840.html