I am calling pageMethod in codebehind of aspx page. I get the response for whole page instead of webMethod response. Also, I tried calling the same webMethod using jquery and got the whole page as response.
Client:
<asp:ScriptManager ID="scriptManager1" runat="server" EnablePartialRendering="True"
EnablePageMethods="true" EnableScriptGlobalization="true" EnableScriptLocalization="true" >
function TestNumber() {
PageMethods.getNumber(ResponseTest);
}
function ResponseTest(response){
var num = response.d;
}
CodeBehind:
[WebMethod]
public static int getNumber()
{
return accountNumber;
}
I am using .NET 4.5.1 and IIS7.5 and I think the issue is realted to in built extensionless URLS in VS2013. I am using the following web.config sys.webserver
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
I tried the same through Jquery ajax call and got whole page. Am i missing any thing?
If you are using friendly urls, then add
PageMethods.set_path(PageMethods.get_path() + '.aspx');
to your js
Good luck!
Friendly URLs (the extensionless URL library that's part of the default project template) doesn't support invocation of [WebMethod] routines. If you must use [WebMethod], uninstall Friendly URLs from the project. This can be done from the Nuget Package Manager window.
Once you remove this package, you may need to fix links in your project and in your Web.config file to add back the missing .aspx extensions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With