>  기사  >  데이터 베이스  >  AutoComplete+数据库,自动完成功能

AutoComplete+数据库,自动完成功能

WBOY
WBOY원래의
2016-06-07 15:35:251299검색

AutoComplete控件的作用是根据用户在文本框输入的字符而做出相应的提示效果。 例如GOOGLE搜索提示功能。 属性列表: TargetControlID:要实现提示功能的控件 ServicePath:WEB服务的路径 ServiceMethod:调用数据使用的方法 CompletionSetCount:提示数据的

AutoComplete控件的作用是根据用户在文本框输入的字符而做出相应的提示效果。

例如GOOGLE搜索提示功能。
属性列表:
TargetControlID:要实现提示功能的控件
ServicePath:WEB服务的路径
ServiceMethod:调用数据使用的方法
CompletionSetCount:提示数据的行数
MinimumPrefixLength:用户输入多少字母才出现提示效果
CompletionInterval:从服务器获取数据的时间间隔,单位为毫秒
Enabled:是否启用自动完成功能,默认为TRUE
EnableCaching:是否启用缓存

实例解析一、读取数据库实现自动完成功能
autocomplete表:ID,NAME两个字段。
Default.aspx代码如下:

 

AutoComplete+数据库,自动完成功能head runat="server">
AutoComplete+数据库,自动完成功能    
title>AutoComplete的使用title>
AutoComplete+数据库,自动完成功能
head>
AutoComplete+数据库,自动完成功能
body>
AutoComplete+数据库,自动完成功能    
form id="form1" runat="server">
AutoComplete+数据库,自动完成功能    
div>
AutoComplete+数据库,自动完成功能        
asp:ScriptManager ID="ScriptManager1" runat="server">
AutoComplete+数据库,自动完成功能        
asp:ScriptManager>    
AutoComplete+数据库,自动完成功能    
div>
AutoComplete+数据库,自动完成功能        
asp:TextBox ID="TextBox1" runat="server">asp:TextBox>
AutoComplete+数据库,自动完成功能        
cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1" ServicePath="WebServiceAutoComplete.asmx" ServiceMethod="GetCompleteDepart" CompletionSetCount="2" MinimumPrefixLength="1"
AutoComplete+数据库,自动完成功能         CompletionInterval
="1000">
AutoComplete+数据库,自动完成功能        
cc1:AutoCompleteExtender>
AutoComplete+数据库,自动完成功能    
form>
AutoComplete+数据库,自动完成功能
body>
AutoComplete+数据库,自动完成功能
AutoComplete+数据库,自动完成功能

WebServiceAutoComplete.asmx.cs文件代码如下:

AutoComplete+数据库,自动完成功能using System;
AutoComplete+数据库,自动完成功能
using System.Web;
AutoComplete+数据库,自动完成功能
using System.Collections;
AutoComplete+数据库,自动完成功能
using System.Web.Services;
AutoComplete+数据库,自动完成功能
using System.Web.Services.Protocols;
AutoComplete+数据库,自动完成功能
using System.Data;
AutoComplete+数据库,自动完成功能
using System.Data.SqlClient;
AutoComplete+数据库,自动完成功能
using System.Configuration;
AutoComplete+数据库,自动完成功能AutoComplete+数据库,自动完成功能..
AutoComplete+数据库,自动完成功能AutoComplete+数据库,自动完成功能..
AutoComplete+数据库,自动完成功能[System.Web.Script.Services.ScriptService]
AutoComplete+数据库,自动完成功能
public class WebServiceAutoComplete : System.Web.Services.WebService {
AutoComplete+数据库,自动完成功能
AutoComplete+数据库,自动完成功能AutoComplete+数据库,自动完成功能..
AutoComplete+数据库,自动完成功能AutoComplete+数据库,自动完成功能..
AutoComplete+数据库,自动完成功能    
//定义数组
AutoComplete+数据库,自动完成功能
    private static string[] autoCompleteWordList = null;
AutoComplete+数据库,自动完成功能    [WebMethod]
AutoComplete+数据库,自动完成功能    
public string[] GetCompleteDepart(string prefixText, int count)
AutoComplete+数据库,自动完成功能    
{
AutoComplete+数据库,自动完成功能        
//如果数组为空
AutoComplete+数据库,自动完成功能
        if (autoCompleteWordList == null)
AutoComplete+数据库,自动完成功能        
{
AutoComplete+数据库,自动完成功能            DAL.DB DBOperator 
= new DAL.DB();
AutoComplete+数据库,自动完成功能            DataSet ds 
= DBOperator.GetDs("select name from autocomplete where name like '"+prefixText+"%' order by name");
AutoComplete+数据库,自动完成功能            
//填充数组
AutoComplete+数据库,自动完成功能
            string[] temp=new string[ds.Tables[0].Rows.Count];
AutoComplete+数据库,自动完成功能            
int i = 0;
AutoComplete+数据库,自动完成功能            
foreach (DataRow dr in ds.Tables[0].Rows)
AutoComplete+数据库,自动完成功能            
{
AutoComplete+数据库,自动完成功能                temp[i] 
= dr["name"].ToString();
AutoComplete+数据库,自动完成功能                i
++;
AutoComplete+数据库,自动完成功能            }

AutoComplete+数据库,自动完成功能            
//将临时数组的内容赋给返回数组
AutoComplete+数据库,自动完成功能
            autoCompleteWordList = temp; 
AutoComplete+数据库,自动完成功能        }

AutoComplete+数据库,自动完成功能        
string[] returnValue = new string[count];
AutoComplete+数据库,自动完成功能        returnValue 
= autoCompleteWordList;
AutoComplete+数据库,自动完成功能        
//返回
AutoComplete+数据库,自动完成功能
        return returnValue;
AutoComplete+数据库,自动完成功能    }
    
AutoComplete+数据库,自动完成功能}

AutoComplete+数据库,自动完成功能
AutoComplete+数据库,自动完成功能


 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.