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');
}
});