Ho un default.aspx.cs che contiene il mio webmethod per chiamare e ho il mio file js che contiene il mio jquery ajax. Non riesco a chiamare il webmethod.Chiamare webmethod ina aspx.cs file usando jquery ajax
Ecco il mio default.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
string[] MyArray = new string[1];
MyArray[0] = "My Value";
Grid1D.DataSource = MyArray;
Grid1D.DataBind();
}
[WebMethod]
public Details[] getDetails(string columnname, string inputVal)
{
List<Details> list = new List<Details>();
DbAccess dbacc = new DbAccess();
DataTable dt = dbacc.getReportDetails(columnname, inputVal);
foreach (DataRow row in dt.Rows)
{
Details _Details = new Details();
_Details.memid = row["memid"].ToString();
_Details.usrname = row["usrname"].ToString();
_Details.fullname = row["fullname"].ToString();
_Details.fname = row["fname"].ToString();
_Details.mname = row["mname"].ToString();
_Details.lname = row["lname"].ToString();
_Details.bdate = row["bdate"].ToString();
_Details.address = row["address"].ToString();
_Details.sponsorid = row["sponsor_id"].ToString();
_Details.parentid = row["parent_id"].ToString();
_Details.placement = row["placement"].ToString();
_Details.datejoined = row["date_joined"].ToString();
list.Add(_Details);
}
Grid1D.DataSource = list.ToArray();
Grid1D.DataBind();
return list.ToArray();
}
e qui è il mio file js:
function retrieveReportData() {
var columnName = $("#ddlFilters").val();
var input = $("#tags").val();
if (columnName != "Select") {
var Data = JSON.stringify({ columnname: columnName, inputVal: input });
alert(Data);
$.ajax({
url: "Default.aspx/getDetails",
data: Data,
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (mydata) {
alert(mydata.d);
}
});
}
else
alert("Please choose search filter");
}
Si può notare che sto avvisando i miei dati per garantire che ho il giusti valori da inviare al mio webmethod. Ma proprio come ho detto, non riesce a chiamare il mio webmethod e non procedere alla mia funzione di successo all'interno della mia ajax. Aiuto! Grazie! :)
C'è un errore durante il caricamento statico sul mio metodo web. Errore È necessario un riferimento a un oggetto per il campo, il metodo o la proprietà non statici 'SearchMember_Updated.Default.Grid1D' – ljpv14
+1. @ ljpv14, Quindi non fare riferimento ... Non ha senso aggiornare alcune UI nel metodo web nel tuo caso in quanto non esiste una pagina HTML corrispondente. –
Non è possibile associare un controllo server a un metodo web. Usalo per caricare/salvare dati da/verso server. Temo che dovrai cambiare questa logica –