我们如何根据Google搜索等文本框的输入过滤结果。 即,如果我输入“阿拉斯加航空公司”,则根据我们的输入过滤并显示结果。怎么可能。请帮我。谢谢你... ...
答案 0 :(得分:3)
如果我理解正确,您需要某种形式的自动填充,因为用户在输入框中输入。
要实现这一点,您应该使用ajax,ASP.Net Ajax Toolkit可能就是您所需要的。查看http://www.asp.net/ajax/ajaxcontroltoolkit/samples/autocomplete/autocomplete.aspx上的示例和文档。
以下是VS2010和使用ASP.Net Toolkit 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();
}
}
答案 1 :(得分:0)
在搜索单击事件上,通过将文本框值作为输入参数传递,使用like关键字绑定网格或要通过数据库查询填充结果的任何控件