AutoCompleteExtender 用法

AutoCompleteExtender控件,固名思义就是可以辅助TextBox控件自动输入,实现如http://dict.yodao.com/这样的效果。

  AutoCompleteExtender控件的属性:
   1.TargetControlID:指定将被辅助完成自动输入的控件ID,这里的控件只能是TextBox;
   2.ServicePath:指出提供服务的WEB服务路径,若不指出则ServiceMethod表示本页面对应的方法名;
   3.ServiceMethod:指出提供服务的方法名;
   4.MinimumPrefixLength:指出开始提供提示服务时,TextBox控件应有的最小字符数,默认为3;
   5.CompletionSetCount:显示的条数,默认为10;
   6.EnableCaching:是否在客户端缓存数据,默认为true;
   7.CompletionInterval:从服务器读取数据的时间间隔,默认为1000,单位:毫秒。

样式

<style type="text/css">
        .autocomplete_completionListElement
        {
            margin: 4px !important;
            background-color: inherit;
            color: windowtext;
            border: buttonshadow;
            border-width: 1px;
            border-style: solid;
            cursor: 'default';
            overflow: auto;
            height: auto;
            max-height: 200px;
            text-align: left;
            list-style-type: none;
            font-size: 0.7em;
        }
        .autocomplete_listItem
        {
            border-style: solid;
            border: #EAEFF9;
            border-width: 1px;
            background-color: window;
            color: windowtext;
        }
        .autocomplete_highlightedListItem
        {
            background-color: #ffff99;
            color: black;
            padding: 1px;
        }
    </style>

  ASPX页面代码: <body>
    <form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="ScriptManager1" />
        <ajaxToolkit:AutoCompleteExtender

             CompletionListCssClass="autocomplete_completionListElement" CompletionListItemCssClass="autocomplete_listItem"
                                            CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
            ID="AutoCompleteExtender1"
            runat="server"
            ServicePath="AutoComplete.asmx"
            TargetControlID="TextBox1"
            ServiceMethod="GetTextString">
        </ajaxToolkit:AutoCompleteExtender>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </form>   
</body>
  WebServcie-AutoComplete.cs代码: using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;


[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.Web.Script.Services.ScriptService]

public class AutoComplete : System.Web.Services.WebService {

    public AutoComplete () {
    }

    [WebMethod]
    public string[] GetTextString(string prefixText, int count)
    {
        string[] strArray = new string[count];

        for (int i = 0; i < count; i++)
        {
            strArray[i] = prefixText + i.ToString();
        }

        return strArray;
    }
}  在这里需要注意以下几点:
   1.由于该WEB服务是为Ajax框架提供服务的,因此在类声明之前得加上属性声明:
     [System.Web.Script.Services.ScriptService]
   2.特别需要注意的是GetTextString这个方法。凡是为AutoCompleteExtender控件提供服务的方法都必需完全满足以下三个条件:
     A.方法的返回类型必需为:string [];
     B.方法的传入参数类型必需为:string  ,   int;
     C.两个传入参数名必需为:prefixText  ,  count。

 

转载于:https://www.cnblogs.com/guowenbin/archive/2012/03/15/2397539.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值