Ajax扩展控件AutoCompleteExtender 连接sql数据库 实现仿Google自动生成功能
2010-08-17 16:50
603 查看
最近做了一个项目,其中有个界面需要实现仿google自动生成功能.就上网查了一下,终于被我做出来了.所以拿来和大家分享一下.
首先大家看一下效果.
1.打开vs建一个网站我用的是vs2008(安装有AJAX扩展控件) sql server 2005
2.向界面拖进一个ToolkitScriptManager(在扩展控件倒数几行) 在添加一个TextBox 再添加一个AutoCompleteExtender控件.我拖这个控件的时候 在界面上不能拖入 我是从直接拖到前台代码处
前台代码如下autocomplete.aspx:
解释一下autocomplete的属性:
1.TargetControlID:指定将被辅助完成自动输入的控件ID,这里的控件只能是TextBox;
2.ServicePath:指出提供服务的WEB服务路径,若不指出则ServiceMethod表示本页面对应的方法名;
3.ServiceMethod:指出提供服务的方法名;
4.MinimumPrefixLength:指出开始提供提示服务时,TextBox控件应有的最小字符数,默认为3;
5.CompletionSetCount:显示的条数,默认为10;
6.EnableCaching:是否在客户端缓存数据,默认为true;
7.CompletionInterval:从服务器读取数据的时间间隔,默认为1000,单位:毫秒.
然后建一个 web 服务(.asmx)具体代码如下:
这样上面的功能就能实现啦. 注意在做的时候string prefixText不要变, 尽量用ToolkitScriptManage .
首先大家看一下效果.
1.打开vs建一个网站我用的是vs2008(安装有AJAX扩展控件) sql server 2005
2.向界面拖进一个ToolkitScriptManager(在扩展控件倒数几行) 在添加一个TextBox 再添加一个AutoCompleteExtender控件.我拖这个控件的时候 在界面上不能拖入 我是从直接拖到前台代码处
前台代码如下autocomplete.aspx:
<%@ Page Language="C#" AutoEventWireup="false" CodeFile="autocomplete.aspx.cs" Inherits="autocomplete" %> <%@ 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> <mce:script type="text/javascript"><!-- function pageLoad() { } // --></mce:script> </head> <body> <form id="form1" runat="server"> <div> <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> </asp:ToolkitScriptManager> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" ServiceMethod="GetSuperviserList" ServicePath="~/ProjectManage.asmx" MinimumPrefixLength="1" CompletionSetCount="3" CompletionInterval="100" DelimiterCharacters="" Enabled="True" UseContextKey="True" TargetControlID="TextBox1" EnableCaching="true"> </asp:AutoCompleteExtender> </div> </form> </body> </html>
解释一下autocomplete的属性:
1.TargetControlID:指定将被辅助完成自动输入的控件ID,这里的控件只能是TextBox;
2.ServicePath:指出提供服务的WEB服务路径,若不指出则ServiceMethod表示本页面对应的方法名;
3.ServiceMethod:指出提供服务的方法名;
4.MinimumPrefixLength:指出开始提供提示服务时,TextBox控件应有的最小字符数,默认为3;
5.CompletionSetCount:显示的条数,默认为10;
6.EnableCaching:是否在客户端缓存数据,默认为true;
7.CompletionInterval:从服务器读取数据的时间间隔,默认为1000,单位:毫秒.
然后建一个 web 服务(.asmx)具体代码如下:
using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; using System.Data.SqlClient; /// <summary> ///ProjectManage 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class ProjectManage : System.Web.Services.WebService { public ProjectManage () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string[] GetSuperviserList(string prefixText, int count) { List<string> items = new List<string>(count);//泛型 string sql = "select top " + count + " Name from Superviser where Name like '" + prefixText + "%'"; SqlConnection conn = new SqlConnection("Data Source=AP-HZ-00052//SQLEXPRESS;Initial Catalog=Test;Integrated Security=True"); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { items.Add(sdr["Name"].ToString()); } conn.Close(); return items.ToArray(); } }
这样上面的功能就能实现啦. 注意在做的时候string prefixText不要变, 尽量用ToolkitScriptManage .
相关文章推荐
- Python实现获取当前公网ip并且自动断开宽带连接功能
- SVN自动生成文件目录filelist清单及文件搜索功能实现
- android中自动提示、补全、连接的功能实现
- jQuery(9)---采用jqueryui实现auotcomplete自动填充功能(连接数据库@Hibernate+struts2)
- Qt 控件 实现 QComboBox输入自动提示功能(仿Google搜索提示)
- jquery实现搜索框自动补全功能,类似google搜索引擎,数据是用Ajax从后台获得
- 实现Android apk 版本号自动生成和打包批量重命名功能
- CS中实现google搜索的自动完成功能!
- php实现自动获取生成文章主题关键词功能的深入分析
- 利用AutoCompleteTextView连接到数据库实现自动提示功能
- 使用FlexBox和Json实现类似ComboBox(类似Google的输入提示和自动)功能-基于JQuery-ASP.NET
- CentOS 下使用SFTP实现网站自动生成FTP账号,实现Chroot功能
- 用javase写一个类实现自动生成验证码的功能,验证码随机自动生成;
- AOS 自动生成代码功能实现
- Ajax实现仿Google自动补全功能
- php实现自动获取生成关键词功能
- struts中利用ajax实现仿google下拉列表自动补全功能
- 用ASP+jQuery.autocomplete.js实现仿google自动提示功能
- php实现自动获取生成文章主题关键词功能-简易分词