2010-04-23 4 views
1

asp.net 및 C# .net의 텍스트 상자에 ajax 자동 완성 확장자를 사용하고있었습니다. 나는 선택할 수있는 목록을 가져올 수 없다. 나는 적절한 웹 서비스 메서드를 호출했다. .. 사람이 automo 완료를 얻으려고 나를 안내한다.Ajax Autocompleteextender가 자동 완성 선택자를 표시하지 않음

<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> 

및 웹 서비스 방법은

[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(); 
     } 
    } 

답변

1

귀하의 방법은 다음과 같은 두 가지 attirubutes을 가질 필요가 다음 코드가 포함

[System.Web.Services.WebMethod()] 
[System.Web.Script.Services.ScriptMethod()] 
관련 문제