Ajax之Anthem和Anthem.AutoSuggest的自动匹配搜索

首先需要找到这个两个dll文件程序中引用Anthem和Anthem.AutoSuggest

下述中的方法都是封装在工厂模式(BLL,Model,SQLDAL)主要代码如下:用这个ajax来做模糊搜索功能

aspx文件中代码。顶部添加

<%@ Register Assembly="Model" Namespace="Model" TagPrefix="Model" %>
<%@ Register Assembly="Anthem.AutoSuggest" Namespace="Anthem" TagPrefix="Anthem" %>
<%@ Register Assembly="Anthem" Namespace="Anthem" TagPrefix="Anthem" %>

在页面中添加anthem控件

添加一个box控件

<Anthem:AutoSuggestBox ID="txtname" runat="server" DataKeyField="Name" AutoCallBack="true"
                                                                        TextBoxDisplayField="Name" ItemNotFoundMessage="没有找到数据!" Required="false" Width="150px">
                                                                        <HeaderTemplate>
                                                                            <table border="0" width="150px" cellpadding="0" cellspacing="0">
                                                                                <tr>
                                                                                    <td align="left" width="20%">
                                                                                        <b>姓名 </b>
                                                                                    </td>
                                                                                    <td align="left" width="20%">
                                                                                        <b>部门 </b>
                                                                                    </td>
                                                                                </tr>
                                                                            </table>
                                                                        </HeaderTemplate>
                                                                        <ItemTemplate>
                                                                            <table border="0" width="150px" cellpadding="0" cellspacing="0">
                                                                                <tr>
                                                                                    <td align="left" width="20%">
                                                                                        <%# ((EmpInfo)Container.DataItem).Name%>
                                                                                    </td>
                                                                                    <td align="left" width="20%">
                                                                                        <%# ((EmpInfo)Container.DataItem).depName%>
                                                                                    </td>
                                                                                </tr>
                                                                            </table>
                                                                        </ItemTemplate>
                                                                    </Anthem:AutoSuggestBox>

和一个标签控件

<Anthem:Label ID="txtcode" Style="width: 100px;" BackColor="#FFFFC0" runat="server" />

aspx.cs后台代码

protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        this.txtname.TextChanged += new Anthem.AutoSuggestBox.TextChangedEventHandler(Name_TextChanged);
        this.txtname.SelectedValueChanged += new Anthem.AutoSuggestBox.SelectedValueChangedHandler(Name_SelectedValueChanged);

}

void Name_SelectedValueChanged(object source, EventArgs e)
    {
        this.txtcode.Text = BLL.Emp.GetEmpByCName(txtname.Text.ToString()).depName;
        txtcode.UpdateAfterCallBack = true;
    }

void Name_TextChanged(object source, Anthem.AutoSuggestEventArgs e)
    {
        txtname.DataSource = SelectName(e.CurrentText);
        txtname.DataBind();
    }

private List<EmpInfo> SelectName(string searchString)//需引用命名空间using System.Collections.Generic;
    {
        List<EmpInfo> list = new List<EmpInfo>();
        EmpInfo x = new EmpInfo();
        x.Name = searchString.Trim().ToString();
        foreach (EmpInfo a in BLL.Emp.GetEmpsByA(x))//searchString.Trim()
        {
            if (a.Name.ToLower().Contains(searchString.ToLower()))
                list.Add(a);
        }
        return list;
    }

这样就可以根据模糊搜索自动匹配数据库中的姓名+部门

注:欢迎喜爱编程的朋友进群交流。QQ群交流:256169347

群共享了很多pdf书籍文档


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值