ASP.Net调用$ .ajax成功的代码隐藏

时间:2012-09-14 12:09:22

标签: javascript asp.net ajax

我有一个带代码隐藏的页面(default.aspx)。 a $ .ajax网址从一个地方获得响应,并且在成功时我想调用代码隐藏功能。

(如果我在混淆代码时犯了一个错误,$ .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);
    }

然而,这似乎不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:1)

你需要在你的页面上有一个scriptmanager然后你可以像这样调用它PageMethods.String Return()