AJAX 控件的 AutoComplete 能输入多个值吗
使用了AJAX 控件的 AutoComplete Extender控件,成功的实现了在TextBox里输入一些内容后自动提示的功能。web service代码如下:[WebMethod]
public string[] GetCompletionList(string prefixText)
{
SqlConnection _sqlConnection = new SqlConnection();
_sqlConnection.ConnectionString = ConfigurationManager.AppSettings["Conn"];
_sqlConnection.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("SELECT Words FROM [AutoComplete] where Words like '" + prefixText + "%'", _sqlConnection);
DataSet ds = new DataSet();
da.Fill(ds);
List<string> items = new List<string>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
items.Add(dr["Words"].ToString());
}
return items.ToArray();
}
}
现在的问题是,是否能输入一个值后用逗号或什么符号分开,然后输入第2个值也出自动提示。就好象发邮件时在TextBox里输入多个邮箱地址那样。
例如开始输入aaaa会自动提示。然后在aaaa后面输入逗号,再输入bb也会自动提示bb开头的内容。能实现这个功能吗? --------------------编程问答-------------------- 100%能实现
跟这个控件毫无关系。
关键字用逗号分隔成数组,然后拼接成
Words like '" + 关键字1 + "%'" or Words like '" + 关键字2 + "%'" or Words like '" + 关键字3 + "%'" --------------------编程问答--------------------
你想表达的是分词搜索吗?
http://download.csdn.net/detail/majia1205/2484004 --------------------编程问答-------------------- public string[] GetCompletionList(string prefixText)
{
if(prefixText!=null){prefixText=prefixText.spilt(',').Last(); }
SqlConnection _sqlConnection = new SqlConnection();
_sqlConnection.ConnectionString = ConfigurationManager.AppSettings["Conn"];
_sqlConnection.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("SELECT Words FROM [AutoComplete] where Words like '" + prefixText + "%'", _sqlConnection);
DataSet ds = new DataSet();
da.Fill(ds);
List<string> items = new List<string>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
items.Add(dr["Words"].ToString());
}
return items.ToArray();
}
} --------------------编程问答-------------------- 用了jhl52771的方法,加上了if(prefixText!=null){prefixText=prefixText.spilt(',').Last(); }
不过这句的prefixText.spilt拼写有错,应该是prefixText.Split
这样之后有个问题,例如输入了aaa,之后,会继续提示,我选了提示框里的bbb之后,前面的aaa,没有了,整个TEXTBOX的内容变为bbb了。我是想要得到aaa,bbb的
这个有办法解决吗 --------------------编程问答-------------------- 请问您这个问题解决了吗?如果解决了内高速我吗,我都找了一周的办法了,也没有解决
补充:.NET技术 , ASP.NET