2009-07-16 54 views
1

有很多口味自動完成實施,我第一次做了WPF實現,這是非常強大的,每個條目了關鍵字,所以對僱員搜索時,「與開始」,它沒如果您輸入姓氏或名字,無論如何,結果都會與Google Suggest類似。自動完成擴展中的Ajax工具包和JQuery限制

我發現JQquery自動完成和ASP.Net自動完成擴展的限制是沒有關鍵字搜索或包含功能,它只是使用「Startswith」類型搜索。

例如,要搜索「Mark Adams」作爲職員姓名,必須輸入M,a,r等。如果您鍵入A,d等,則不會返回任何結果。

有誰知道這個計劃?現在有什麼嗎?像

matchContains:true 

+0

檢查Ajax ToolKit的編輯。 – simplyharsh 2009-07-17 06:50:42

回答

1

你一定錯過了jQuery的自動完成選項,不正是你想要的。這將匹配馬克·亞當斯,當你鍵入A,d等

編輯

而對於ajaxtoolkit AutoCompleteExtender,我怕你沒有得到任何選項等同於jQuery的matchContains的。但你可以用服務方法輕鬆完成。其設置爲...

ServiceMethod="GetNameList" 

其中GetNameList包含如何匹配數據的整個邏輯。例如。

public partial class _Default : System.Web.UI.Page { 
    [WebMethod] 
    public static string[] GetNameList(string prefixText, int count) { 
     string sql = String.Format("select name from customers where name like @given_name"); 

     List<string> nameList = new List<string>(); 
     using (SqlConnection connection = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.")) 
     using (SqlCommand command = new SqlCommand(sql, connection)) { 
      connection.Open(); 
      command.Parameters.AddWithValue("@given_name", "%"+prefixText"%"); 
      using (SqlDataReader reader = command.ExecuteReader()) { 
       while (reader.Read()) { 
        nameList.Add(reader.GetString(0)); 
       } 
      } 
     } 

     return nameList.ToArray(); 
    } 
} 

下面是代碼行,它進行匹配。

command.Parameters.AddWithValue("@given_name", "%"+prefixText"%"); 
+0

感謝harshh,是有什麼等效ajaxtoolkit AutoCompleteExtender? – 2009-07-16 20:25:30