您的位置:首页 > 编程语言 > ASP

使用AutoCompleteExtender(自动完成下拉菜单)实例

2007-05-21 15:18 826 查看
我正在学习使用AjaxControlToolkit,AutoCompleteExtender是我使用的第一个控件,有关它的文章网上也有不少,不过很多都因为版本问题而不太正确了,让我在参考时也绕了些圈子,因此我把自己的实例写一下,适合和我一样的新手作参考(注:版本对应ASP.NET AJAX 1.0)
效果图:



首先配置好环境,安装过程参考:ASP.NET AJAX学习记要(3)-ASP.NET AJAX安装(VS2005下安装)
用AjaxControlToolkitWebSite模板新建网站
新建一个WebService,在代码页中加入以下代码


using System.Web.Script.Services;
 


[ScriptService]

然后写一个方法,用于返回自用完成时显示的数据列表


[WebMethod]


    public string[] GetList(string prefixText, int count)




    

{




        string[] returnValue1 = 

{ "张飞", "张苞", "张郃", "张辽" };




        string[] returnValue2 = 

{ "刘备", "刘禅", "刘璋", "刘表" };


        switch (prefixText.ToLower())




        

{


            case "张":


                return returnValue1;


            case "zhang":


                return returnValue1;


            case "刘":


                return returnValue2;


            case "liu":


                return returnValue2;


            default:


                return new string[0];


        }


    }

其中prefixText是指定文本框内输入的值,根据这个值来做数据筛选,本例中为了简单就直接写死了
返回的值必须是字符串数组,如果是从数据源取得的表还需要把它转成数组后返回

然后在webform中添加控件,代码如下


<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>


        <asp:ScriptManager ID="ScriptManager1" runat="server">


        </asp:ScriptManager>


        <ajaxToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1" MinimumPrefixLength="1" ServiceMethod="GetList" ServicePath="WebService.asmx">


        </ajaxToolkit:AutoCompleteExtender>
AutoCompleteExtender 的几个属性:
TargetControlID:要监视的文本控件ID
MinimumPrefixLength:触发自动完成功能的最少字数
ServicePath:WebService路径
ServiceMethod:刚才写的方法名称,用于返回数据

保存后运行一下看看,自动完成功能就是这么简单:)


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐