2012-04-04 5 views
0
nicht

ich Asp.Net/C# verwende, In einer meiner Seiten, die ich Ajax autocompleteextender für Auto-Vorschläge bin mit, Folgen ist der Code, den ichAjaxControlToolkit AutoCompleteExtender Rendering

 <Services> 
     <asp:ServiceReference Path="AutoCompleteSearchByName.asmx" /> 
     </Services> 
     </asp:ScriptManager> 
     <asp:TextBox ID="txtCountry" runat="server"></asp:TextBox> 
     <ajaxtoolkit:autocompleteextender runat="server" ID="autoComplete1" 
     TargetControlID="txtCountry" ServicePath="AutoCompleteSearchByName.asmx" 
     ServiceMethod="GetNames" MinimumPrefixLength="1" EnableCaching="true" /> 

jedoch im Design-Modus verwenden es mir einen Fehler geben .Der Fehler sagt,

Error creating control autocomplete1 , AutocompleteSearchByName.asmx could not be set on property ServicePath 

Hier mein AutoCompleteSearchByName.asmx Code ist

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Services; 
using System.Web.Services.Protocols; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 

namespace CwizBankApp 
{ 
    /// <summary> 
    /// Summary description for AutoCompleteSearchByName 
    /// </summary> 
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // 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 AutoCompleteSearchByName : System.Web.Services.WebService 
    { 

     [WebMethod] 
     public string[] GetNames(string prefixText) 
     { 
      DataSet dst = new DataSet(); 
      SqlConnection sqlCon = new SqlConnection(ConfigurationManager.AppSettings["Server=Server;Database=CwizData;Trusted_Connection=True"]); 
      string strSql = "SELECT f_name FROM cust_master WHERE f_name LIKE '" + prefixText + "%' "; 
      SqlCommand sqlComd = new SqlCommand(strSql, sqlCon); 
      sqlCon.Open(); 
      SqlDataAdapter sqlAdpt = new SqlDataAdapter(); 
      sqlAdpt.SelectCommand = sqlComd; 
      sqlAdpt.Fill(dst); 
      string[] cntName = new string[dst.Tables[0].Rows.Count]; 
      int i = 0; 
      try 
      { 
       foreach (DataRow rdr in dst.Tables[0].Rows) 
       { 
        cntName.SetValue(rdr["f_name"].ToString(), i); 
        i++; 
       } 
      } 
      catch { } 
      finally 
      { 
       sqlCon.Close(); 
      } 
      return cntName; 
     } 
    } 
} 

Kann mir jemand vorschlagen, wie ich dieses Problem lösen kann. Dank

+0

ist es für Sie arbeiten? –

+0

Ich habe versucht, den Code, was Sie gepostet, jetzt sagt es Fehler beim Erstellen von Steuerelement Autocomplete1 'True' konnte nicht auf Eigenschaft 'Caching' gesetzt werden – freebird

+1

Ich schlage vor, Sie Code des Artikels herunterladen und dann versuchen, in Ihrem Projekt oder für die Prüfung Fehler durch den Vergleich Ihres Codes .. –

Antwort

1

Überprüfen Sie, ob Sie die richtige DLL für diese verwenden und haben unter Code aussehen aslo

wenn es noch nicht diesen Artikel arbeiten überprüfen und durch Codeprüfung donlowding was Fehler, den Sie gemacht: AutoComplete With DataBase and AjaxControlToolkit

Try dies:

<ajaxToolkit:ToolkitScriptManager ID="ScriptManager1" runat="server"> 

</ajaxToolkit:ToolkitScriptManager> 
<ajaxToolkit:AutoCompleteExtender ID="autoComplete1" runat="server" 
    EnableCaching="true" 
    BehaviorID="AutoCompleteEx" 
    MinimumPrefixLength="2" 
    TargetControlID="myTextBox" 
    ServicePath="AutoComplete.asmx" 
    ServiceMethod="GetCompletionList" 
    CompletionInterval="1000" 
    CompletionSetCount="20" 
    CompletionListCssClass="autocomplete_completionListElement" 
    CompletionListItemCssClass="autocomplete_listItem" 
    CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" 
    DelimiterCharacters=";, :" 
    ShowOnlyCurrentWordInCompletionListItem="true"> 

oder

diese nicht treffen sich mit Ihnen antworten, aber wenn Sie möchten, Sie können auch für jquery Soltuion gehen hier ist der ganze Artikel dafür: Cascading with jQuery AutoComplete