I\'ve an asp button on an aspx :
Try with this type of format.
[System.Web.Services.WebMethod]
public static void GetReport()
{
}
[System.Web.Services.WebMethod]
public static void GetReport(string name)
{
}
Get more detail from
http://www.aspsnippets.com/Articles/Call-ASPNet-Page-Method-using-jQuery-AJAX-Example.aspx
Your method must be declared as static and decorated with [WebMethod]. So, your method should be:
[WebMethod]
public static void GetReport()
{
// Your code here
}
For more information, please take a look at this post.
EDIT!!!
I see you use some controls in your code (like txtInvoiceFrom, txtInvoiceTo). After making your method static, you cannot access those controls anymore. To solve this problem, please follow these steps (take txtInvoiceTo as an example):
txtInvoiceTo.Text or something similar. Pass it as a parameter.txtInvoiceTo data from client-side, using jQuery or something else (your choice), and pass it to the Ajax to post to server.txtInvoiceTo data by jQuery, you can do: $('#<%= txtInvoiceTo.ClientID %>').val()Your method must be static and decorated with [WebMethod] as below, why should make it static and decorate with [WebMethod]?
[WebMethod]
public static void GetReport()
{
// Your code here
}
$.ajax({
type: "POST",
url: "Selection.aspx/GetReport",
data: JSON.stringify({ parametername : "Parameter Value" }),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function()
{
alert('success');
},
error: function()
{
alert('error');
}
});