我有一个带代码隐藏的页面(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);
}
然而,这似乎不起作用。我错过了什么?
答案 0 :(得分:1)
你需要在你的页面上有一个scriptmanager然后你可以像这样调用它PageMethods.String Return()