0

我有一个带有代码隐藏的页面(default.aspx)。a$.ajax url 正在从一个地方获得响应,并且在成功后我想调用 codebehind 函数。

(如果我在混淆代码时犯了错误,$.ajax 可以完美运行,我会得到想要的响应)。

这怎么可能?

我正在使用的代码:

    jQuery.support.cors = true; // force cross-site scripting (as of jQuery 1.5)
    $.ajax({
                type: "POST",
                url: URL,
                data: parameters,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {

                    var resultCount = response.d
                    alert("*** RESULT ****" + resultFields);;
                    var string = StringReturn(); // the codebehind
                    alert(string);
                },
                error: function (e) {
                    alert("Unavailable");
                }
            });

代码隐藏:

        [WebMethod]
protected static string StringReturn()
{
    return "StringReturn() success";
}

但是,我收到错误消息说 StringReturn 不是一个有效的函数。

任何帮助,将不胜感激?

我已按照建议将以下代码行添加到页面中:

    <asp:ScriptManager ID="ScriptMgr" runat="server" EnablePageMethods="true"> </asp:ScriptManager>

我还更改了代码以在 Success 事件上调用 javascript 函数,该函数为:

    function HelloWorlds() {

        alert("HelloWorld() method");
        message = PageMethods.StringReturn();
        message.toString();
        alert(message);
    }

但是这似乎不起作用。我错过了什么?

4

1 回答 1

1

您需要在页面上有一个 scripmanager,然后您可以像这样调用它 PageMethods.StringReturn()

于 2012-09-14T12:13:22.647 回答