我想用AutoComplete实现当在文本框输入几个汉字时,然后根据输入汉字从数据库读出相识的字段,显示在下面,就像google
搜索的功能一样,哪位有现成的代码,转一份参考一下,小弟不胜感激!

解决方案 »

  1.   

    http://www.open-open.com/ajax/AutoComplete.htm
      

  2.   

    js 去写,不是很难但注意,服务器端数据 必须插入缓存,如果每ajax发送一次数据 就的查询一次数据库,那会很慢。如果数据量小,可以先加载到本地的 js类变量中,然后查询本地内存,那就更快了。
      

  3.   

    现成的<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
       
     <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>  
       
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  
     <html xmlns="http://www.w3.org/1999/xhtml">  
     <head runat="server">  
         <title>AJAX控件之AutoComplete</title>  
     </head>  
     <body style="text-align: center">  
        <form id="form1" runat="server">  
             <asp:ScriptManager ID="ScriptManager1" runat="server" />  
             <div>  
                 <asp:TextBox ID="MyAuto" runat="server" Width="191px"></asp:TextBox><br />  
                 <br />  
                 <cc1:AutoCompleteExtender ID="ace" runat="server" CompletionInterval="100" MinimumPrefixLength="1"  
                     ServiceMethod="GetCompletionList" ServicePath="WebService.asmx" TargetControlID="MyAuto">  
                 </cc1:AutoCompleteExtender>  
                 &nbsp;</div>  
         </form>  
    </body>  
    </html>  # using System;  
     using System.Web;  
     using System.Collections.Generic;  
     using System.Web.Services;  
     using System.Web.Services.Protocols;  
       
       
     /// <summary>  
     /// WebService 的摘要说明  
     /// </summary>  
     [WebService(Namespace = "http://tempuri.org/")]  
     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
     //用以调用Web Service方法签名  
     [System.Web.Script.Services.ScriptService]  
     public class WebService : System.Web.Services.WebService {  
       
         public WebService () {}  
       
         [WebMethod]  
         public string[] GetCompletionList(string prefixText, int count)  
         {  
             //if (count == 0)  
             //{  
             //    count = 10;  
             //}  
             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(48, 57);  
                 char c4 = (char)random.Next(33, 43);  
                 items.Add(prefixText + c1 + c2 + c3 + c4);  
             }  
             return items.ToArray();  
         }  
       
    }  下面那个方法读取数据库 返回中文string[]
      

  4.   

    AjaxControlToolkit AutoCompleteExtender
      

  5.   

    你那个输出的是英文啊,换成中文怎么不管了呢。“下面那个方法读取数据库 返回中文string[]”能详细点吗?