• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    不使用web服务(Service)实现文本框自动完成扩展

    以前写Ajax 的AutoCompleteExtender功能,都需要写WCF Service或是Web Service数据源。但一个系统中,很多文本框都想使用AutoComplete的功能。我们不可能写很多的Service,比如一些较小的数据。我们是否有一个可替换的方法呢?这是肯定的。下面的演示,Insus.NET以不用写Service来实现文本框的AutoCompete extender功能。

    首先从数据库获取数,你可以写SQL语句,或是写存储过程,以下是获取域用户信息,仿Outlook输入收件人效果。

    在[ActiveDirectoryInfo]表中的信息,是定期与域的活动目录同步。

    复制代码 代码如下:

    usp_ActiveDirectoryInfo_GetDisplayNameForService
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: Insus.NET
    -- Create date: 2013-03-28
    -- Description: Get dissplay name form web service
    -- =============================================
    CREATE PROCEDURE [dbo].[usp_ActiveDirectoryInfo_GetDisplayNameForService]
    (
    @PrefixText NVARCHAR(MAX),
    @Count INT
    )
    AS
    DECLARE @W NVARCHAR(MAX) = @PrefixText + '%'
    EXECUTE('SELECT TOP (' + @Count + ') [displayName] FROM [dbo].[ActiveDirectoryInfo] WHERE [displayName] LIKE ''' + @w +'''')

    在逻辑层,我们写一个类别,去与数据层交互:
    复制代码 代码如下:

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Web;

    /// summary>
    /// Summary description for ActiveDirectoryInfo
    /// /summary>
    namespace Insus.NET
    {
    public class ActiveDirectoryInfo
    {
    BusinessBase objBusinessBase = new BusinessBase();

    public ActiveDirectoryInfo()
    {
    //
    // TODO: Add constructor logic here
    //
    }

    public DataTable GetDisplayName(string prefixText,int count)
    {
    Parameter[] parameter = {
    new Parameter ("@PrefixText",SqlDbType.NVarChar,-1,prefixText),
    new Parameter ("@Count",SqlDbType.Int,4,count)
    };
    return objBusinessBase.GetDataToDataSet("usp_ActiveDirectoryInfo_GetDisplayNameByPrefixText", parameter).Tables[0];
    }
    }
    }

    以上类别中,有一个对象即是BusinessBase
    把ScriptManager
    复制代码 代码如下:

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

    或ToolkitScriptManager
    复制代码 代码如下:

    ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />

    拉至网页。

    下图是html与cs程序,在方法前必须两行代码:

    复制代码 代码如下:

    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]


    效果:

    上一篇:文本框中输入小写字母即时转换为大写实现思路
    下一篇:vb.net 数组参与SQL语句的查询范例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    不使用web服务(Service)实现文本框自动完成扩展 不,使用,web,服务,Service,