不使用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]


效果:

(0)

相关推荐

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

    以前写Ajax 的AutoCompleteExtender功能,都需要写WCF Service或是Web Service数据源.但一个系统中,很多文本框都想使用AutoComplete的功能.我们不可能写很多的Service,比如一些较小的数据.我们是否有一个可替换的方法呢?这是肯定的.下面的演示,Insus.NET以不用写Service来实现文本框的AutoCompete extender功能. 首先从数据库获取数,你可以写SQL语句,或是写存储过程,以下是获取域用户信息,仿Outlook输入

  • js实现鼠标点击文本框自动选中内容的方法

    本文实例讲述了js实现鼠标点击文本框自动选中内容的方法.分享给大家供大家参考.具体如下: 这里使用JS实现鼠标点击时自动选中文本框文本的效果,相信许多朋友都遇到这种功能的,就是当我们点击文本框的时候,文本框中默认的文字会被全部选中,这样当你输入的时候不用再去选择,省去了一些麻烦,提高了输入效率,用户肯定会喜欢这功能,那么实现的方法是怎么样呢?通过本代码你就搞明白了. 先来看看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/js-mouse-click

  • jQuery 控制文本框自动缩小字体填充

    js控制文本框自动缩小字体填充,当文本框中的字体超出文本框范围的时候,框内的字体会自动缩小,以填充整个文本框; 调用:resetFontSize($(".title"), 50, 10, 20);//重置字体大小 wordbox:jQuery对象 maxHeight:box的最大高度 minSize:最小字体大小 maxSize:最大字体大小 this.resetFontSize=function (wordbox, maxHeight, minSize, maxSize) { //

  • ASP.NET输入文本框自动提示功能

    在ASP.NET Web开发中会经常用到自动提示功能,比如百度搜索.我们只要输入相应的关键字,就可以自动得到相似搜索关键字的提示,方便我们快速的输入关键字进行查询. 那么在ASP.NET中,如果我们需要做个类似的效果,该如何做到呢? 很简单,我们只要借助于一个JQuery强大的插件JQuery AutoComplete来完成这个效果就可以了.这个插件的官方地址为:JQuery AutoComplete,里面也有示例代码. 下面我们将以一个身份证号自动查询为例,来看看JQuery AutoComp

  • ajax 服务器文本框自动填值

    这样的话就增加了服务器的负担.后面自己他细想了一下.想利用ajax去实现这样一个效果.代码如下: 前台代码: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ServerTextBoxdata.aspx.cs" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C

  • 当鼠标滑过文本框自动选中输入框内容的JS代码分享

    复制代码 代码如下: <html><head><title>响应鼠标自动选中文本框内容</title></head><body><input id="a" type="text" value="请输入搜索词" onmouseover="selectInputContent(this.id)"/><script type="tex

  • js+css使文本框自动适应内容的高度

    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 随着输入内容的增加,会自动增加行数.

  • 如何禁止文本框的记忆功能方法集锦

    然而做为网站开发者来说, 并不希望什么资料都记忆在用户的电脑上(如银行帐号和其它重要的帐号及密码), 但是我们又不能要求用户禁用自动完成的功能. 幸好IE5.0后为 INPUT type=password, INPUT type=text, FORM 等控件加入了一个 AUTOCOMPLETE的属性,要禁止控件自动完成功能,只需把AUTOCOMPLETE设为off即可,如: 整个表单禁止自动完成 复制代码 代码如下: <FORM method=post action="submit.asp

  • 使用Jquery实现点击文字后变成文本框且可修改

    使用Jquery实现点击文字变为文本框效果,可对文本框文字进行修改. 1.点击文字变为文本框 2.文本框自动全选文字 3.对文本框内容进行修改 4.点击文本框以外的地方文本框再次变为修改后的文字 5.同步更新SQL数据库内容 Html部分代码 复制代码 代码如下: <table width="200"> <tr> <td><b>ID</b></td> <td><b>名称</b>&

  • ASP.Net中英文复合检索文本框实现思路及代码

    前段时间,写一个用户部门的管理页面,需要对后台获取的用户数据实现英汉检索功能. 同时,选定一个选项之后,需要触发事件与后台交互,将该用户所在的部门显示到页面右边的ListBox控件中. 一.Dojo的FilteringSelect组件实现拼音检索功能 在网上有不少相关的介绍,其中比较经典的有"海盗乱语"的关于重写Dojo的FilteringSelect组件实现拼音检索功能的介绍(地址http://cosbor.web-144.com/?p=38.http://cosbor.web-14

随机推荐