问题
Hi everyone i trying to get data from cs to js using ToolkitScriptManager. this is my aspx :
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../assets/lib/jquery/jquery-2.0.3.js" type="text/javascript"></script>
<script>
$(window).load(function () {
alert(PageMethods.isConnected());
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ToolkitScriptManager runat="Server"
EnablePageMethods="true"
EnablePartialRendering="true" />
<div>
</div>
</form>
</body>
</html>
and this is my code behind
[ScriptMethod, WebMethod]
public static bool isConnected()
{
return true;
}
i dont know, but this keep result undefined, sorry if this is really simple problem for you, but for me so hard, because i am new in asp.net please help me to fix this problem.
回答1:
You need to supply a success and a failure callback to the webmethod call as below.
$(window).load(function () {
PageMethods.isConnected(fnsuccesscallback,fnerrorcallback);
});
function fnsuccesscallback(data) {
alert(data);
}
function fnerrorcallback(result) {
alert(result.statusText);
}
Also, there is another way of accessing the page methods using $.ajax.
<head id="Head1" runat="server">
<title></title>
<script src="../assets/lib/jquery/jquery-2.0.3.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(window).load(function () {
$.ajax({
type: "POST",
url: "PageMethodTest.aspx/isConnected",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: fnsuccesscallback,
error:fnerrorcallback
});
}); function fnsuccesscallback(data) {
alert(data.d);
}
function fnerrorcallback(result) {
alert(result.statusText);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager EnablePageMethods="true" runat="server">
</asp:ScriptManager>
<div>
</div>
</form>
</body>
回答2:
Will do 100% work
<script type="text/javascript">
function Generate()
{
var result = PageMethods.GenerateOTP(your parameter, function (response)
{
alert(response);
});
}
</script>
来源:https://stackoverflow.com/questions/19580633/asp-net-pagemethods-return-undefined