2010-09-16 4 views
1

Как мы можем фильтровать результаты в соответствии с вводом текстового поля, такого как поиск Google. i.e, Если я вхожу в «аляскинские авиалинии», тогда он отфильтровывался и показывал результат в соответствии с нашим вводом. Как это возможно. Пожалуйста, помогите мне. спасибо advnce ..фильтрация данных с помощью ввода текстового поля

ответ

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(); 
    } 
} 
0

На поиск события нажатия связать сетку или любые элементы управления, где вы хотите, чтобы заполнить результат через запрос к базе данных, используя как ключевое слово, передавая значение текстового поля в качестве входного параметра