<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
</asp:ScriptManager>
<script type="text/javascript">
function callServer()
{
alert($get('txtNo').value);
// call server side method
//Server side function get the 1 arguments i. We are passing $get('txtNo').value
//for that. CallSuccess is callback function for complete successfully.
//CallFailed is callback function on error. $get('divDest') is destCtrl parameter.
//If server side code executed successfully then CallSuccess will call.
//If server side code do not executed successfully then CallFailed will call.
PageMethods.ServerMethod($get('txtNo').value, CallSuccess, CallFailed, $get('divDest'));
}
// set the destination textbox value with the ContactName
function CallSuccess(res, destCtrl)
{
destCtrl.innerHTML = res;
}
// alert message on some failure
function CallFailed(res, destCtrl)
{
alert(res.get_message());
}
</script>
<input type="text" id="txtNo" />
<input type="button" id="test" value="Test" onclick="callServer();" />
<div id="divDest">
</div>
In .cs file
<WebMethod()> _
Public Shared Function ServerMethod(ByVal i As Integer) As String
If (i = 0) Then
Return "This is Zero"
Else
Return "This is " & i
End If
End Function
Troubleshooting: ‘PageMethods Is 'Undefined'’ error
1. Try setting EnablePageMethods="true" in the script manager tag
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"/>
2. Don't add the javascript references or code in the <head /> section. Add it to the <body> tag.
<body>
<script type="text/javascript" language="javascript" src="script.js"> </script>
<form id="form1" runat="server">
</form>
</body>
3. Page methods needs to be static in code behind.
No comments:
Post a Comment