Ajax を適切に使用するには、コードの一部を貼り付けてください。webmethode 関数を使用する必要があり、関数は次のように静的である必要があります。
$(document).ready(function () {
var text = $("#<%=ApplicationSearchResult.ClientID %>").val();
// Add the page method call as an onclick handler for the div.
$("#<%=ApplicationSearchResult.ClientID %>").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "Dashboard.aspx/GetTreeNodesByText",
data: "{'text': '" + request.term + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
response(data.d);
}
});
},
minLength: 1
});//end auto complete
});
サーバー側機能:
[WebMethod]
public static List<string> GetTreeNodesByText(string text)
{
List<string> Nodes = new List<string>();
if (HttpContext.Current.Session["SerialSearchDT"] != null)
{
DataTable DT = HttpContext.Current.Session["SerialSearchDT"] as DataTable;
DataRow[] filteredDataTable = DT.Select("NODE_NAME LIKE '" + text + "%'");
// DT.DefaultView.ToTable(true, "NODE_NAME");
for (int i = 0; i < filteredDataTable.Length; i++)
{
string res = filteredDataTable[i][2].ToString();
Nodes.Add(res);
}//end For
}//endIF
return Nodes.Distinct().ToList();
}
これは一例であり、問題の解決に役立つことを願っています