这篇文章主要介绍了.Net 文本框实现内容提示的实例代码,需要的朋友可以参考下
1.Demo下载: 文本框实现内容提示(仿Google、Baidu).rar 2.创建数据库、表(我用的sqlserver2008数据库) 代码如下: CREATE TABLE Ceshi ( id VARCHAR(50) PRIMARY KEY NOT NULL, cname VARCHAR(30) ) GO INSERT INTO Ceshi SELECT NEWID(),'jack1' UNION SELECT NEWID(),'jack2' UNION SELECT NEWID(),'jack3' UNION SELECT NEWID(),'jack4' UNION SELECT NEWID(),'jack5' UNION SELECT NEWID(),'peter1' UNION SELECT NEWID(),'peter2' UNION SELECT NEWID(),'peter3' UNION SELECT NEWID(),'peter4' UNION SELECT NEWID(),'peter5' go 3.创建自定义函数 代码如下: create function [dbo].[f_GetPy](@str nvarchar(4000)) returns nvarchar(4000) as begin declare @strlen int,@re nvarchar(4000) declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1)) insert into @t(chr,letter) select '吖 ', 'A ' union all select '八 ', 'B ' union all select '嚓 ', 'C ' union all select '咑 ', 'D ' union all select '妸 ', 'E ' union all select '发 ', 'F ' union all select '旮 ', 'G ' union all select '铪 ', 'H ' union all select '丌 ', 'J ' union all select '咔 ', 'K ' union all select '垃 ', 'L ' union all select '嘸 ', 'M ' union all select '拏 ', 'N ' union all select '噢 ', 'O ' union all select '妑 ', 'P ' union all select '七 ', 'Q ' union all select '呥 ', 'R ' union all select '仨 ', 'S ' union all select '他 ', 'T ' union all select '屲 ', 'W ' union all select '夕 ', 'X ' union all select '丫 ', 'Y ' union all select '帀 ', 'Z ' select @strlen=len(@str),@re= ' ' while @strlen> 0 begin select top 1 @re=letter+@re,@strlen=@strlen-1 from @t a where chr <=substring(@str,@strlen,1) order by chr desc if @@rowcount=0 select @re=substring(@str,@strlen,1)+@re,@strlen=@strlen-1 end return(@re) end GO 4.asp.net前台页面(需要添加2个引用:AjaxControlToolkit.dll,AutoCompleteExtra.dll) 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TextBoxAuto.aspx.cs" Inherits="WebApplication1.TextBoxAuto" %> <%@ Register Assembly="AutoCompleteExtra" Namespace="AutoCompleteExtra" TagPrefix="cc1" %> <!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> <style type="text/css"> .searchTextBox { border: 1px solid #e1e1e1; border-collapse: separate; border-spacing: 0; padding: 2px 2px 2px 2px; white-space: nowrap; margin-left: 2px; height: 28px; line-height: 28px; margin-right: 5px; font-family: 微软雅黑,宋体; font-size: 14px; } </style> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <div> <div class="dd2"> 请输入姓名: <asp:TextBox CssClass="searchTextBox" runat="server" ID="txtCompanyName" Style="width: 280px;"></asp:TextBox> <cc1:AutoCompleteExtraExtender ID="AutoCompleteExtraExtender1" runat="server" ServiceMethod="GetCompanyNameList" TargetControlID="txtCompanyName" AsyncPostback="false" UseContextKey="True" AutoPostback="false" MinimumPrefixLength="1" CompletionInterval="10"> </cc1:AutoCompleteExtraExtender> </div> </div> </ContentTemplate> </asp:UpdatePanel> </form> </body> </html> 5.后台页面 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Oceansoft.Net.Bll; namespace WebApplication1 { public partial class TextBoxAuto : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } [System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()] public static string[][] GetCompanyNameList(string prefixText, int count, string contextKey) { //获取自动完成的选项数据 List<string[]> list = new List<string[]>(); List<string> nameList = new List<string>(); List<string> idList = new List<string>(); CeshiManage ceshimanage = new CeshiManage(); ceshimanage.GetTopUserName(count, prefixText.ToUpper(), out idList, out nameList); for (int i = 0; i < nameList.Count; i++) { string[] Respuesta = new string[2]; Respuesta[0] = nameList[i]; Respuesta[1] = idList[i]; list.Add(Respuesta); } return list.ToArray(); } } } 6.后台页面用到的方法(管理类) 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI; using Oceansoft.Net.Bll; using SubSonic; using System.Transactions; using System.Data; using Oceansoft.Net.Dal; namespace Oceansoft.Net.Bll { /// <summary> &nbs