使用文本框输入过滤数据
问题描述:
我们如何根据Google搜索等文本框的输入过滤结果。 即,如果我输入“阿拉斯加航空公司”,那么它会根据我们的输入过滤并显示结果。怎么可能。请帮帮我。感谢advnce ..使用文本框输入过滤数据
答
如果我理解正确,你来填充结果的任何控制当用户在输入框中输入时需要某种形式的自动完成。
要实现这一目标,您应该使用ajax,而ASP.Net Ajax Toolkit可能就是您正在寻找的。查看http://www.asp.net/ajax/ajaxcontroltoolkit/samples/autocomplete/autocomplete.aspx的示例和文档。
下面是VS2010样品并使用ASP.Net工具包4
标记
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:TextBox runat="server" ID="myTextBox" autocomplete="off" />
<asp:autocompleteextender runat="server" behaviorid="AutoCompleteEx" id="autoComplete1"
targetcontrolid="myTextBox" servicepath="AutoComplete.asmx" servicemethod="GetCompletionList"
minimumprefixlength="2" completioninterval="1000" enablecaching="true" completionsetcount="20"></asp:autocompleteextender>
</div>
</form>
</body>
</html>
AutoComplete.asmx.cs
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class AutoComplete : WebService
{
public AutoComplete()
{
}
[WebMethod]
public string[] GetCompletionList(string prefixText, int count)
{
if (count == 0)
{
count = 10;
}
if (prefixText.Equals("xyz"))
{
return new string[0];
}
Random random = new Random();
List<string> items = new List<string>(count);
for (int i = 0; i < count; i++)
{
char c1 = (char)random.Next(65, 90);
char c2 = (char)random.Next(97, 122);
char c3 = (char)random.Next(97, 122);
items.Add(prefixText + c1 + c2 + c3);
}
return items.ToArray();
}
}
答
在搜索点击事件绑定网格或者您想通过数据库查询使用类似的关键字通过将文本框的值作为输入参数