2009-07-16 56 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