2012-05-25 27 views
2

我有一個HttpHandler - .ashx文件的Jquery自動完成工作。它工作正常,我想知道是否有一個簡單的方法來使用代碼背後的[WebMethod]權利的自動完成 - 這有什麼好處嗎?Jquery自動完成.NET Web方法

回答

6

的HttpHandler和Web服務的兩種實現執行相同,
但是我更喜歡的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" } }; 
}