2010-04-23 5 views
1

je travaillais ajax auto completeextender avec une zone de texte dans asp.net et C# .net. Je ne suis pas en mesure d'obtenir la liste de choisir, j'ai la méthode de service Web appropriée appelée..can n'importe qui me guider pour obtenir l'automo complète terminée.Ajax Autocompleteextender ne montre pas l'autocompletelist à choisir

<form id="form1" runat="server"> 
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </asp:ToolkitScriptManager> 
    <div> 
    <asp:AutoCompleteExtender runat="server" ID="autoComplete1" TargetControlID="TextBox1" 
    ServiceMethod="GetCompletionList" 
    ServicePath="AutoComplete.asmx" 
    MinimumPrefixLength="0" 
    CompletionInterval="50" 
    EnableCaching="true" 
    CompletionSetCount="1"  
    DelimiterCharacters=";, :" 
    ShowOnlyCurrentWordInCompletionListItem="true">   
</asp:AutoCompleteExtender> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    </div> 
    </form> 

et la méthode de service Web contient le code suivant

[WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    [ScriptService] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService] 
    public class AutoComplete : System.Web.Services.WebService 
    { 

     [WebMethod] 
     public string HelloWorld() 
     { 
      return "Hello World"; 
     } 

     [WebMethod] 
     public string[] GetCompletionList(string prefixText, int count) 
     { 
      List<string> responses = new List<string>(); 

      for (int i = 0; i < count; i++) 

       responses.Add(prefixText + (char)(i + 65)); 
      return responses.ToArray(); 
     } 
    } 

Répondre

1

Votre méthode doit avoir les deux attirubutes suivantes

[System.Web.Services.WebMethod()] 
[System.Web.Script.Services.ScriptMethod()]