我有一个带有代码隐藏的页面(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);
}
但是这似乎不起作用。我错过了什么?