Ajax中 AutoCompleteExtender 的使用方法

控件名:AutoCompleteExtender 

作用:   在文本框输入时,实现动态提示以及自动填写

示例:   在 google 进行搜索时,在文本框会输入提示内容,如图:

 

Ajax实现:

如果你在用Visual Studio 2005,还没有安装 ASPAJAXExtender 的话,请首先安装: 猛击这里下载

这里还要下载 AjaxControlToolkit ,可以下载这里的 dll 文件:猛击这里下载 

方法1:

将 AjaxControlToolkit(.dll) 里的所有控件添加到 vs2005 或 vs2008 的工具栏中:

添加到工具栏中的方法:

     右键工具栏选项卡:添加选项卡 > 命名 > 选项 > 浏览 > 选择dll文件 > 确定

网页中添加如下代码:

<div>

<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="updatePanel1" runat="server" AutoPostback="true">
   <ContentTemplate>
       <asp:TextBox ID="tb" runat="server" Text=""></asp:TextBox>
       <ajax:AutoCompleteExtender ID="googleSa" runat="server" ServicePath="AutoComplete.asmx"
          TargetControlID="tb" ServiceMethod="GetCompletionList">
       </ajax:AutoCompleteExtender>
   </ContentTemplate>
</asp:UpdatePanel>
</div>

 

属性介绍: 

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

注意:

1. webservice 需要声明为 [System.Web.Script.Service.ScriptService]

   这样 Ajax 可以前台调用。

2. 方法的三个条件:需要严格遵守!
   返回类型必需为:string [];参数类型必需为:string  ,   int;
 参数名:prefixText  ,  count。

 

WebService代码: 

[System.Web.Script.Services.ScriptService]

publicclassAutoComplete : System.Web.Services.WebService
{
[WebMethod]
publicstring[] GetCompletionList(stringprefixText,intcount)
{
   if( count == )
      count=10;
   if( prefixText.Equals("xyx") )
      return new string[0];
   List<string> items = new List<string>(count);
   Random random1 = new Random();
   for(int i=0; i<count; i++)
   {
      charc1=(char)random1.Next(65,97);
      charc2=(char)random1.Next(97,122);
      charc3=(char)random1.Next(97,122);
      items.Add(prefixText+c1+c2+c3);
   }
   returnitems.ToArray();
}
}

prefixText :是输入的内容,可以用来检索数据库,查询出以其开头的字符串。将查询出来的字符串以 string[] 形式返回即可。

posted @   XueM  Views(947)  Comments(0Edit  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示