2

我有使用 HttpHandler - .ashx 文件的 Jquery 自动完成功能。它工作正常,我想知道是否有一种简单的方法可以在后面的代码中使用带有 [WebMethod] 的自动完成功能 - 这有什么好处吗?

4

1 回答 1

6

HttpHandler 和 Web-Services 的两个实现执行相同,
但是我更喜欢 HttpHandler,因为它是轻量级
的,另一方面,Web 服务编码请求和响应 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" } };
}
于 2012-06-12T07:16:27.327 回答