ajaxControlToolkit AutoCompleteExtender的用法

yizhihongxing

首先,在使用AjaxControlToolkit中的AutoCompleteExtender之前,需要确保已经安装并引用了AjaxControlToolkit。可以通过NuGet Package Manager来安装:

Install-Package AjaxControlToolkit

安装完成后,在页面中引入AjaxControlToolkit

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>

接下来,就可以在页面中添加AutoCompleteExtender控件了。以下是一个基本的例子:

<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="aceSearch" runat="server"
    TargetControlID="txtSearch"
    MinimumPrefixLength="3"
    ServiceMethod="GetAutoCompleteData"
    ServicePath="~/AutoCompleteService.asmx">
</ajax:AutoCompleteExtender>

在上面的示例中,我们使用了aceSearch作为AutoCompleteExtender的ID,传入了txtSearch文本框的ID作为目标控件,设置了最小前缀长度为3(即需要输入至少3个字符才会触发自动完成方法),并指定了一个服务方法GetAutoCompleteData和服务路径AutoCompleteService.asmx

我们需要在AutoCompleteService.asmx中创建GetAutoCompleteData方法,用于返回自动完成的数据。以下是一个例子:

[WebMethod]
public string[] GetAutoCompleteData(string prefixText, int count)
{
    List<string> data = new List<string>();
    // 根据前缀查询数据库,并将结果加入到data中
    return data.ToArray();
}

除了以上基本的用法之外,AutoCompleteExtender还包含一些可用的属性和事件,例如:

  • CompletionInterval: 自动完成延迟时间,默认250ms。
  • CompletionListCssClass: 自动完成列表的CSS类名。
  • DelimiterChars: 分隔符。
  • EnableCaching: 是否启用缓存。
  • EnableQueryStringRewriting: 是否启用查询字符串重写(默认为true)。
  • OnClientPopulating: 客户端populating事件。
  • OnClientItemSelected: 客户端item selected事件。
  • OnClientShowing: 客户端showing事件。

假设我们要使用另一个服务方法GetAutoCompleteData2,并将自动完成列表的宽度设置为文本输入框的宽度,可以这样做:

<asp:TextBox ID="txtSearch2" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="aceSearch2" runat="server"
    TargetControlID="txtSearch2"
    MinimumPrefixLength="3"
    ServiceMethod="GetAutoCompleteData2"
    ServicePath="~/AutoCompleteService.asmx"
    CompletionListCssClass="autocomplete"
    OnClientShowing="autoCompleteShowing">
</ajax:AutoCompleteExtender>
<script type="text/javascript">
    function autoCompleteShowing(sender, e) {
        var autocompleteDiv = e.get_completionList();
        autocompleteDiv.style.width = sender.get_element().clientWidth + "px";
    }
</script>

在上面的示例中,我们使用了autoCompleteShowing函数,将自动完成列表的宽度设置为文本输入框的宽度。同时,我们还为自动完成列表设置了一个CSS类名autocomplete

除了在服务端返回数据之外,我们还可以在客户端使用JavaScript数组来指定自动完成的数据。以下是一个示例:

<asp:TextBox ID="txtAutoComplete" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="aceAutoComplete" runat="server"
    TargetControlID="txtAutoComplete"
    MinimumPrefixLength="0"
    EnableCaching="true">
</ajax:AutoCompleteExtender>
<script type="text/javascript">
    var autoCompleteData = ["JavaScript", "jQuery", "AngularJS", "React", "CSS", "HTML", "SQL", "C#"];
    aceAutoComplete.populateComplete = function (prefixText, completionList) {
        var matches = [];
        for (var i = 0; i < autoCompleteData.length; i++) {
            if (autoCompleteData[i].startsWith(prefixText)) {
                matches.push(autoCompleteData[i]);
            }
        }
        completionList.disposeItems();
        $common.foreach(matches, function (match) {
            completionList.addItem(match);
        });
        completionList.show();
    }
</script>

在上面的示例中,我们使用autoCompleteData数组来指定自动完成的数据,而非从服务端获取。我们在客户端使用populateComplete方法来指定如何填充自动完成列表的数据。先遍历数组,找到所有以输入的前缀开头的元素,然后将其加入到自动完成列表中显示出来。

以上就是AjaxControlToolkit中的AutoCompleteExtender的基本用法和一些高级用法,希望对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ajaxControlToolkit AutoCompleteExtender的用法 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Cucumber常用关键字

    Cucumber常用关键字 Cucumber是一种行为驱动开发(Behavior Driven Development,BDD)工具,它可以用自然语言描述测试用例,然后将这些测试用例自动生成可执行的测试代码。在Cucumber中,有许多常用的关键字可以用于定义测试用例的各个部分。 Feature Feature关键字用于定义一个功能或者一个行为,它是Cucu…

    其他 2023年3月28日
    00
  • iphone手机如何注册instagram账号 怎样应用instagram

    下面是iphone手机如何注册instagram账号以及怎样应用instagram的详细攻略。 注册instagram账号 步骤一:下载并安装instagram应用 首先,你需要在App Store里搜索Instagram应用,然后下载并安装到你的iPhone手机上。 步骤二:打开instagram应用,进入注册页面 安装完成后,在你的iPhone主屏幕找到…

    other 2023年6月27日
    00
  • Win10 20H1快速预览版18950怎么手动更新升级?

    当你想手动更新升级你的Win10 20H1快速预览版18950版本时,可以使用Windows Update(Windows更新)来升级系统。下面提供如下两个步骤来手动更新升级Win10 20H1快速预览版18950版本: 步骤一:检查系统是否已经有可用的更新 在升级之前,你需要检查你的系统是否已经有可用的更新。在开始手动更新之前需要预先备份你的系统数据以便于…

    other 2023年6月27日
    00
  • 专业硬盘扫描修复工具 MHDD图文使用教程

    下面是“专业硬盘扫描修复工具 MHDD图文使用教程”的完整攻略。 1. 下载和安装 MHDD MHDD 是一款免费的硬盘扫描修复工具,可从其官网下载最新版本。安装过程非常简单,只要按照提示进行就可以。 2. 运行 MHDD 运行 MHDD 的方法有两种: 1) 在 Windows 中,打开命令提示符,输入 cd /d “MHDD的安装路径”,然后输入 mhd…

    other 2023年6月27日
    00
  • 一键测试vps到国内速度脚本superbench.sh 以及一键验收云…

    一键测试vps到国内速度脚本superbench.sh 以及一键验收云主机性能脚本bench.sh 如果你在购买VPS或者云服务器时考虑到了哪家提供商的服务性能更好,我们推荐你使用一些工具来测试网络品质和基准测试你的主机。这里我们推荐两个著名的Shell脚本“superbench.sh”和“bench.sh”,它们可以协助您免费快速的对性能进行评估。 简介 …

    其他 2023年3月28日
    00
  • vue前端使用md5加密解密

    Vue前端使用MD5加密解密攻略 在Vue前端应用程序中,MD5加密是一种常用的加密方式。MD5是一种不可逆加密法,可以将任意长度的数据转换为固定长度的哈希值。以下是在Vue前应用程序中使用MD5加的详细攻。 安装MD5库 在Vue前端应用程序中使用MD5加密,需要先安装MD5库。您可以使用以下命令在应用程序中安装MD5库: npm install –sa…

    other 2023年5月6日
    00
  • python 递归相关知识总结

    下面我将从以下几个方面来详细讲解 “Python 递归相关知识总结”,以便让你对递归算法有更深入的理解: 什么是递归 递归的原理和实现方式 递归的应用场景 递归的优缺点 两个递归算法的示例说明 1. 什么是递归 递归是一种算法的实现方式,它是指在算法过程中调用自身的过程。递归在程序中的表现形式通常是一个函数调用它本身。一个递归过程通常包括两个部分:递归边界和…

    other 2023年6月27日
    00
  • asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)

    下面是详细的攻略: 需求背景 在网站开发中,通常需要实现菜单的显示与选择。虽然在项目开发过程中,很多成熟的框架与组件已经为我们处理了这些问题,但是了解菜单显示和选择的实现原理,还是有助于我们更好地理解和使用它们。 解决方案 我们可以通过递归算法,将数据源中的菜单格式化成我们需要的形式,并将其展示在DropDownList中。具体步骤如下: 步骤一:设计数据源…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部