使用文本框输入过滤数据

时间:2010-09-16 06:49:10

标签: c# asp.net filtering

我们如何根据Google搜索等文本框的输入过滤结果。 即,如果我输入“阿拉斯加航空公司”,则根据我们的输入过滤并显示结果。怎么可能。请帮我。谢谢你... ...

2 个答案:

答案 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关键字绑定网格或要通过数据库查询填充结果的任何控件