• AutoCompleteExtender智能扩展实例


    ajaxControlToolkit AutoCompleteExtender的用法
    AutoCompleteExtender 自动完成扩展, 配合TextBox使用功能类似现在google中输入搜索字,则在TextBox下出来下拉框显示搜索目标中的项目
    这个扩展控件需要配合Web Service使用,所以涉及了点web Service的使用(这里只简单谈下,等用熟了再仔细谈下web service的内容)
    先介绍下AutoCompleteExtender的几个关键属性:
    ---------------------------------------------------------------------
    a,TargetControlID 这个属性是所有AjaxControlToolkit的共同属性,就是扩展目标控件ID(官方这么说的吧)
    b.CompletionSetCount 这个属性是设置显示下拉结果的条数 默认为10吧
    c.MinimumPrefixTextLength 这个属性是设置输入几个字符的长度后调用webService中的方法显示下拉列表
    d.ServicePath 这个属性设置需要调用的web Service路径
    e.ServiceMethod 这个属性设置需要调用的web Service中的方法(函数)
    f.EnableCaching:是否在客户端缓存数据,默认为true
    g.CompletionInterval:从服务器读取数据的时间间隔,默认为1000,单位:毫秒
    ------------------------------------------------------------------------
    1.新建一个页面,加入ScriptManager控件 一个TextBox控件 一个AutoCompleteExtender控件
    2.新建立一个webService(AutoCompleteService.cs),添加一个[WebMethod]方法
    [WebMethod]
    [复制此代码]CODE:
    /// <summary>
            /// 查询时文本框自动获取部门下拦列表
            /// </summary>
            /// <param name="prefixText"></param>
            /// <param name="count"></param>
            /// <returns></returns>
            [WebMethod]
            public string[] GetDepartmentList(string prefixText, int count)
            {
                if (count == 0)
                {
                    count = 10;
                }
                List<string> items = new List<string>(count);
                if (CommonPage.CheckSensitiveStr(prefixText))
                {//CheckSensitiveStr检查敏感字符
                    IDepartmentDAL dal = DataAccess.CreateDepartmentDAL();
                    string sql = "dwmc like '" + prefixText + "%'";
                    DataTable dt = new DataTable();
                    dt = dal.GetDepartmentByWhere(sql);
                    foreach (DataRow dr in dt.Rows)
                    {
                        items.Add(dr["dwmc"].ToString());
                    }
                    return items.ToArray();
                }
                else
                {
                    return items.ToArray();
                }
            }
    页面代码:
    <td width ="135" ><asp:TextBox CssClass="textbox" ID="txtDwmc" runat="server"
                    Width="128px" />
    <ajaxToolkit:AutoCompleteExtender ID="autoComplete1" runat="server"
      BehaviorID="AutoCompleteEx" CompletionInterval="100"
      CompletionListCssClass="autocomplete_completionListElement"
      CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
      CompletionListItemCssClass="autocomplete_listItem" DelimiterCharacters=";, :"
      MinimumPrefixLength="1" ServiceMethod="GetDepartmentList"
      ServicePath="~/WebService/AutoCompleteService.asmx" TargetControlID="txtDwmc">
    </ajaxToolkit:AutoCompleteExtender>
       --------------------------------------
    参考资料:http://www.jb51.net/article/16320.htm 
  • 相关阅读:
    使用.NET发送EMail小程序示例
    Log4Net使用手册
    深入继承之抽象类和接口综合分析及完整案列解说(二)
    Prototype 1.4.0源码详细解释脚本代码全文注释
    深入继承之抽象类和接口综合分析及完整案列解说(一)
    关于如何理解 not exists 的好比喻 not exists = not in;exists= in
    一些直接访问 的 外国 SCI 期刊地址
    ∩∈∪≠ 制作PPT 时 数学符号
    Can I make a userdefined function/procedure to return a result set
    IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1413169.html
Copyright © 2020-2023  润新知