• 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;
        }   
    }

  • 相关阅读:
    Haskell语言学习笔记(38)Lens(1)
    Haskell语言学习笔记(37)RWS, RWST
    Haskell语言学习笔记(36)Data.List.Zipper
    Haskell语言学习笔记(35)Contravariant
    编程漫谈系列(4)协变(covariance),逆变(contravariance)与不变(invariance)
    Boost.Coroutine2:学习使用Coroutine(协程)
    C++17尝鲜:类模板中的模板参数自动推导
    bzoj 2797 [Poi2012]Squarks 枚举一个,推出所有
    FWT 学习笔记
    A* k短路 学习笔记
  • 原文地址:https://www.cnblogs.com/astar/p/955632.html
Copyright © 2020-2023  润新知