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

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

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

 

< head  runat ="server" >
    
< title > AutoComplete的使用 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:ScriptManager  ID ="ScriptManager1"  runat ="server" >
        
</ asp:ScriptManager >     
    
</ div >
        
< asp:TextBox  ID ="TextBox1"  runat ="server" ></ asp:TextBox >
        
< cc1:AutoCompleteExtender  ID ="AutoCompleteExtender1"  runat ="server"  TargetControlID ="TextBox1"  ServicePath ="WebServiceAutoComplete.asmx"  ServiceMethod ="GetCompleteDepart"  CompletionSetCount ="2"  MinimumPrefixLength ="1"
         CompletionInterval
="1000" >
        
</ cc1:AutoCompleteExtender >
    
</ form >
</ body >

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

using  System;
using  System.Web;
using  System.Collections;
using  System.Web.Services;
using  System.Web.Services.Protocols;
using  System.Data;
using  System.Data.SqlClient;
using  System.Configuration;
..
..
[System.Web.Script.Services.ScriptService]
public   class  WebServiceAutoComplete : System.Web.Services.WebService  {

..
..
    
//定义数组
    private static string[] autoCompleteWordList = null;
    [WebMethod]
    
public string[] GetCompleteDepart(string prefixText, int count)
    
{
        
//如果数组为空
        if (autoCompleteWordList == null)
        
{
            DAL.DB DBOperator 
= new DAL.DB();
            DataSet ds 
= DBOperator.GetDs("select name from autocomplete where name like '"+prefixText+"%' order by name");
            
//填充数组
            string[] temp=new string[ds.Tables[0].Rows.Count];
            
int i = 0;
            
foreach (DataRow dr in ds.Tables[0].Rows)
            
{
                temp[i] 
= dr["name"].ToString();
                i
++;
            }

            
//将临时数组的内容赋给返回数组
            autoCompleteWordList = temp; 
        }

        
string[] returnValue = new string[count];
        returnValue 
= autoCompleteWordList;
        
//返回
        return returnValue;
    }
    
}


转载于:https://www.cnblogs.com/vmusicworm/archive/2008/06/05/1214249.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值