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 に答える