ASP.NET AJAX PageMethods调用.NET 4.5 IIS 7.5的整个页面
我在aspx页面的代码隐藏中调用pageMethod。 我得到整个页面的响应而不是webMethod响应。 此外,我尝试使用jquery调用相同的webMethod并将整个页面作为响应。
Client: function TestNumber() { PageMethods.getNumber(ResponseTest); } function ResponseTest(response){ var num = response.d; } CodeBehind: [WebMethod] public static int getNumber() { return accountNumber; }
我正在使用.NET 4.5.1和IIS7.5,我认为问题是在VS2013中构建的无扩展URL中实现的。 我使用以下web.config sys.webserver
我通过Jquery ajax调用尝试了相同的操作并获得了整页。 我错过了什么吗?
如果您使用的是友好url,请添加
PageMethods.set_path(PageMethods.get_path() + '.aspx');
到你的js
祝好运!
友好URL(无扩展URL库是默认项目模板的一部分)不支持调用[WebMethod]例程。 如果必须使用[WebMethod],请从项目中卸载友好URL。 这可以从Nuget Package Manager窗口完成 。
删除此软件包后,您可能需要修复项目和Web.config文件中的链接以添加缺少的.aspx扩展名。
是的,它似乎是web.config设置。
尝试从
部分删除此行
只需添加