I have the exact code when declaring webmethod in aspx file and in asmx file. They are webmethods exposed for client scripting. I just want to use webmethod inside asmx file, but cannot get it to work.
When I reference a method in aspx file everything works just fine, but when I reference webmethod in asmx I receive an error method unknown. I checked all solutions for "unknown method, parametar methodname" but nothing helped.
Webmethod is both declared in a similar way:
[WebMethod]
public static string[] InsertRecord(string param) { return something }
Only difference is that asmx contains [System.Web.Script.Services.ScriptService]
for class.
I cant figure out what is the problem.
WebMethod is being called from Jquery script places in a control (ascx).
function InsertRecord(notice)
{
$.ajax({
type: "POST",
url: "/Webservices/Records.asmx/InsertRecord",
data: "{ 'notice':'" + notice + '' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
},
error: function(msg) {}
});
}
your web.config file maybe needs this (check if it is there):
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>
you neeed to uset httppost and httpget in your web.config file, or your ajax call will never happen.