简单的asp.net autocompleteExtender不工作

问题描述:

我目前有一些麻烦与ajax autoCompleteExtender。简单的asp.net autocompleteExtender不工作

.aspx文件

<asp:toolkitscriptmanager runat="server" ID ="scropt" EnablePageMethods ="true" EnablePartialRendering ="true"> 
     </asp:toolkitscriptmanager> 


     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

     <asp:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="2" TargetControlID ="TextBox1" 
      ServiceMethod="GetCompletionList" runat="server" CompletionInterval ="100"></asp:AutoCompleteExtender> 

.Aspx.cs文件

[System.Web.Script.Services.ScriptMethod] 
     [System.Web.Services.WebMethod] 
     public static string[] GetCompletionList(string prefixText, int count) 
     { 

      System.Diagnostics.Debug.WriteLine("prefix:" + prefixText); 
      List<string> list = new List<string>(); 

      list.Add("hello"); 
      list.Add("world"); 
      list.Add("everyone"); 

      return list.ToArray(); 
     } 

这段代码的预期的行为是有一个文本框下拉字符串值的列表返回在进入2个字母到文本框。但是,这没有发生。我用小提琴手来跟踪我的http请求,并意识到文本框并没有向服务器发起任何http请求。有谁知道这个的原因还是有我的代码有问题吗?

+0

我认为你正在使用toolkitscriptmanager..try过时的版本采用最新的Ajax工具包和使用的ScriptManager代替toolkitscritptmanager的 –

+0

您是否使用asp.net script manager control.please检查了这个链接,可能对您有所帮助.http://www.aspsnippets.com/Articles/AJAX-AutoCom pleteExtender-实施例功能于ASPNet.aspx –

@weejing我运行你的代码,它是完美的工作。 如果有任何混淆你复制我的代码。

ASPX代码

<body> 
     <form id="form1" runat="server"> 
     <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </cc1:ToolkitScriptManager> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="1" TargetControlID ="TextBox1" 
       ServiceMethod="GetCompletionList" runat="server" CompletionInterval ="100"> 
    </cc1:AutoCompleteExtender> 
     </form> 
    </body> 

aspx.cs代码

[System.Web.Script.Services.ScriptMethod] 
     [System.Web.Services.WebMethod] 
     public static string[] GetCompletionList(string prefixText, int count) 
     { 

      System.Diagnostics.Debug.WriteLine("prefix:" + prefixText); 
      List<string> list = new List<string>(); 

      list.Add("hello"); 
      list.Add("world"); 
      list.Add("everyone"); 

      return list.ToArray(); 
     }