【问题标题】:filtering the data with textbox input使用文本框输入过滤数据
【发布时间】:2011-04-13 01:33:19
【问题描述】:

我们如何根据谷歌搜索等文本框的输入来过滤结果。 即,如果我输入“阿拉斯加航空公司”,那么它会根据我们的输入进行过滤并显示结果。怎么可能。请帮我。提前感谢..

【问题讨论】:

    标签: c# asp.net filtering


    【解决方案1】:

    在搜索单击事件时,通过将文本框值作为输入参数传递,使用 like 关键字通过数据库查询绑定网格或任何要填充结果的控件

    【讨论】:

      【解决方案2】:

      如果我理解正确,您需要某种形式的自动完成功能,因为用户在您的输入框中输入内容。

      要实现这一点,您应该使用 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();  
          }  
      }  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-02
        • 1970-01-01
        • 2016-09-27
        • 2015-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-03
        相关资源
        最近更新 更多