1

在尝试学习 PageMethods 时,我遇到了一个特殊的问题。

运行程序时,程序进入错误函数。Chrome 开发者工具显示以下错误:

    GET http://localhost:62316/Advertising/WebForm1.aspx/GetCurrentDate  ScriptResource.axd:4844

这是我的asp代码:

    <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
        <script type ="text/javascript" src="../Includes/jquery-1.4.2.js"></script>
    <script type ="text/javascript">

        function call() {
            PageMethods.GetCurrentDate(success, fail);
            return false;
        }


        function success(msg) {
            alert("Success "+msg);
        }

        function fail(xhr, status) {
            alert("Fail "+xhr.responseText+" "+status);
        }
    </script> 
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="Manager" runat="server" EnablePageMethods="true"></asp:ScriptManager>
        <asp:Button ID="test" Text="Get Text" runat="server" OnClientClick="javascript: return call();" />

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

这是 C# 代码:

     [WebMethod]
    [ScriptMethod(UseHttpGet = true)]
    public static string GetCurrentDate()
    {

        return "foo";
    }

错误框中显示的对象分别为 undefined 和 null。此外,由于函数中有断点,因此得出的结论是该函数从未被单步执行。我究竟做错了什么?

4

1 回答 1

1

更改以下行

<asp:Button ID="test" Text="Get Text" runat="server" OnClientClick="javascript: return call();" />

作为

<asp:Button ID="test" Text="Get Text" runat="server" OnClientClick="call(); return false;" />

它应该工作

于 2013-06-02T02:43:40.657 回答