我使用HttpHandler - .ashx文件进行Jquery自动完成。它工作正常,我想知道是否有一种简单的方法在后面的代码中使用[WebMethod]权限自动完成 - 这有什么优势吗?
答案 0 :(得分:6)
HttpHandler和Web-Services的两种实现都表现相同,
但我更喜欢HttpHandler,因为它很轻,
另一方面,网络服务编码请求&响应xml数据,增加额外的有效负载。
POP JqueryUI使用网络方法自动完成:
http://blog.nitinsawant.com/2011/09/integrating-jquery-ui-autocomplete-in.html
JS:
$(document).ready(function () {
$("#<%=txtAutoComplete.ClientID %>").autocomplete({
source: function (request, response) {
$.ajax({
url: "webservice/TestService.asmx/SearchData",
data: "{ 'q': '" + request.term + "', 'limit': '10' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.Name,
value: item.id + ""
}
}))
}
});
}
});
});
C#:
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public List<tdata> SearchData(string q, int limit)
{
return new List<tdata> { new tdata { id = 0, name = "nitin" } };
}