Asp.net 4.0 未调用Asp.net页面方法

Asp.net 4.0 未调用Asp.net页面方法,asp.net-4.0,webmethod,pagemethods,Asp.net 4.0,Webmethod,Pagemethods,我有一个简单的page方法示例,但它没有被调用。GetDate()函数的断点永远不会被命中,它总是将警报显示为“Failure”。 aspx页面是: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default13.aspx.cs" Inherits="Default13" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

我有一个简单的page方法示例,但它没有被调用。GetDate()函数的断点永远不会被命中,它总是将警报显示为“Failure”。 aspx页面是:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
 <script type="text/javascript" language="javascript" >

     function btnTest_onclick() {

         PageMethods.GetDate(Success, Failure);
     }

     function Success(data) {
         alert("success");
         alert(data);
     }

     function Failure(data) {
         alert("failure");
         alert(data.toSource());
     }
    </script>
</head>
<body >
    <form id="form1" runat="server" method="post">
    <div>
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" ScriptMode="Debug"  >
    </asp:ScriptManager>
    <%--<input type="button" id="btnSave" value="Save" onclick="btnTest_onclick" />--%>
     <asp:Button id="btnSave" runat="server" Text="Save" OnClientClick="btnTest_onclick()"/>
    </div>
    </form>
</body>
</html>
有什么建议吗


提前感谢,

我认为问题是因为您的按钮是服务器端控件,建议您从html按钮调用
PageMethod

但是,如果您需要这样做,请尝试以下代码

<asp:Button id="btnSave" runat="server" Text="Save" OnClientClick="btnTest_onclick(); return false;"/>

是否要在服务器端控件上调用WebMethod?或者从html按钮调用它对您合适吗?
<asp:Button id="btnSave" runat="server" Text="Save" OnClientClick="btnTest_onclick(); return false;"/>