2016-09-15 32 views
0

我目前有一些麻煩與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 –

回答

0

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