在ASP.NET Web开发中会经常用到自动提示功能,比如百度搜索。我们只要输入相应的关键字,就可以自动得到相似搜索关键字的提示,方便我们快速的输入关键字进行查询。

那么在ASP.NET中,如果我们需要做个类似的效果,该如何做到呢?

很简单,我们只要借助于一个JQuery强大的插件JQuery AutoComplete来完成这个效果就可以了。这个插件的官方地址为:JQuery AutoComplete,里面也有示例代码。

下面我们将以一个身份证号自动查询为例,来看看JQuery AutoComplete的强大和简洁。

首先我们要准备好插件,可以在官方下面下载下来。

一、aspx页面

在head部分,导入相应js和css。

    <script src="../js/jquery-1.4.2.js" type="text/javascript"></script>

    <link href="../js/jquery.autocomplete.css" rel="stylesheet" type="text/css" />

    <script src="../js/jquery.autocomplete.js" type="text/javascript"></script>

注意jquery-1.4.2.js一定要在最上面,因为autocomplete插件基于核心jquery.js。至于jquery的版本,读者可以自行下载最新版。

然后继续写上核心js部分。

    <script type="text/javascript">
$(function(){
$("#<%=txtSfzh.ClientID %>").autocomplete("../services/SearchSyryInfoService.ashx",{
width: 500,
max: 20,
delay: 5,
cacheLength: 1,
formatItem: function(data, i, max) {
return data.toString();
},
formatResult: function(data) {
return data.toString().split(",")[1];
}
}).result(function(event, data, formatted) {
var array = data.toString().split(",");
$("#<%=txtXm.ClientID %>").val(array[0]);//姓名
$("#<%=txtSfzh.ClientID %>").val(array[1]);//身份证号
$("#<%=txtJtzz.ClientID %>").val(array[2]);//家庭住址
$("#<%=txtLxdh.ClientID %>").val(array[3]);//联系电话
});
});
</script>

在body的页面部分准备一个页面:

    <table cellpadding="0" cellspacing="0" border="1" width="100%">
<tr>
<td>
<label>
身份证号</label>
</td>
<td>
<asp:TextBox runat="server" ID="txtSfzh" />
</td>
<td>
<label>
姓名</label>
</td>
<td>
<asp:TextBox runat="server" ID="txtXm" />
</td>
</tr>
<tr>
<td>
<label>
家庭地址</label>
</td>
<td>
<asp:TextBox runat="server" ID="txtJtzz" />
</td>
<td>
<label>
联系电话</label>
</td>
<td>
<asp:TextBox runat="server" ID="txtLxdh" />
</td>
</tr>
<tr align="center">
<td colspan="4">
<asp:Button ID="btnSearch" runat="server" Text="查询" Width="80px" OnClick="btnSearch_Click" />&nbsp;
<asp:Button ID="btnReset" runat="server" Text="重置" Width="80px" OnClick="btnReset_Click" />
</td>
</tr>
</table>

二、ashx后台

    public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; if (context.Request.QueryString["q"] != null)
{
string key = context.Request.QueryString["q"];
if (key.Trim().Length >= )//大于等于8位,才去查数据库。这是为了缓解数据库查询的压力,只当输入了8位以上身份证以后才进行数据库检索。
{
string keyValues = GetKeyValues(key);
context.Response.Write(keyValues);
}
}
} public bool IsReusable
{
get
{
return false;
}
} public static string GetKeyValues(string key)
{
BLL bll = new BLL();
DataTable dt = bll.GetPersons(key).Tables[];//通过关键字k(k是前台页面输入的身份证号码)到后台去查询人员信息并返回一个结果集
StringBuilder sb = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sb.Append(dr["result"].ToString() + "\n");
}
return sb.ToString().Trim();
}

如上代码即可实现输入身份证号时自动检索数据库并给出相关信息,当选择某条数据的时候,自动给文本框赋值,减少了人工的输入。

鉴于信息保密,这里就不上传效果图了,读者可以自己动手试一试。

ASP.NET输入文本框自动提示功能的更多相关文章

  1. myeclipse输入“.”后没有自动提示功能

    今天和室友安装了一样的myeclipse版本,结果室友的自动提示功能有,我的输入"."后却不能提示,这对我们敲代码简直来说是一个折磨,不能自动提示,本来还以为是系统问题,一个是wi ...

  2. Ajax实现搜索栏中输入时的自动提示功能

    使用 jQuery(Ajax)/PHP/MySQL实现自动完成功能 JavaScript代码: <script src="jquery-1.2.1.pack.js" type ...

  3. 基于JQuery实现的文本框自动填充功能

    1. 实现的方法 /* * js实现的文本框的自动完成功能 */ function doAutoComplete(textid,dataid,url){ $("#" + texti ...

  4. jquery 实现邮箱输入自动提示功能

    邮箱的广泛使用得益于它的免费,因此很多网站在注册的时候都会直接使用邮箱作为账号名 为了提高用户的体验,很多网站都会实现邮箱输入的自动提示功能,所有自己也实现了一个,先看下效果吧,觉得效果还行的就拿去 ...

  5. jquery 实现邮箱输入自动提示功能:(一)

    记得去年做某个项目的时候,用到了邮箱输入自动提示功能,于是网上搜了一下,发现了这个写得不错,现在回想起来,转载一下,方便查阅. 邮箱的广泛使用得益于它的免费,因此很多网站在注册的时候都会直接使用邮箱作 ...

  6. jquery 实现邮箱输入自动提示功能:(二)

    上篇文章写到了一个不错的jquery实现邮箱输入自动提示功能,发现还有一个不错的自动提示插件: 先展示结果如图: html代码: <center> <h1>输入邮箱试试!< ...

  7. Android实现Filterable通过输入文本框实现联系人自动筛选

    相信大家一定在见过手机通讯录的一个情景就是使用在选人的时候输入文本框里的数据就能自动筛选.实现的效果如下图. 其实实现这样的效果相信大家一定对另外一个控件不陌生那就AutoCompleteTextvi ...

  8. JS基础 浏览器弹出的三种提示框(提示信息框、确认框、输入文本框)

    浏览器的三种提示框 alert() //提示信息框 confirm() //提示确认框 prompt() //提示输入文本框 1.alert( ) 提示信息框 <script> alert ...

  9. JQ三种提示框:提示信息框、确认框、输入文本框

    浏览器的三种提示框: alert()提示信息框 confirm()提示确认框 prompt()提示输入文本框 1.alert()提示信息框 效果: 实现代码: <script> alert ...

随机推荐

  1. SQLyog MySQL GUI 11.13 Ultimate 中文破解版【转载】

    SQLyog是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库! SQLyog MySQL GUI是我常用的一个桌面工具,功能强大,让你有使用MSSQ ...

  2. nonce和timestamp在Http安全协议中的作用

    前段时间给客户网站做新浪微博账号登录功能,对OAuth协议以及相关的一些安全协议做了一些研究,顺便就记录一下学习心得吧.在这里就不打算具体讲OAuth的协议流程了,而是针对OAuth请求头里的nonc ...

  3. WaterWave

    WaterWave.rar

  4. 解决content is not allowed in prolog问题

    将xml文档用notepad++以UTF-8无BOM格式编码保存便可以了

  5. QT连接多种数据库f方法及测试

    QT提供了对多种数据库的访问支持,对SQL Server也可以通过ODBC来进行访问.要想顺利访问SQL Server. 首先要保证以下几点:1. QT编译时已经编译了QtSql2. 编译了ODBC插 ...

  6. Setting up a database adapter

    Setting up a database adapter zend-db provides a general purpose database abstraction layer. At its ...

  7. 手工配置tomcat 解决一闪而过~

    双击tomcat 目录下的bin目录下的startup.bat 如果看到Server startup in **** ms 显示在屏幕上证明你的配置都成功了 如果一闪而过,说明出错了.请在dos进入上 ...

  8. Google(谷歌)中国工程研究院 工程师 方坤 对学生朋友的一些建议

    对学生朋友的一点建议 发表者:Google(谷歌)中国工程研究院工程师 方坤 自去年春天加入谷歌,我曾多次随公司校园招聘团队一起走访各地院校,帮助公司发掘人才 .利用这样的出差机会到处走走看看,饱览祖 ...

  9. UTF-8编码与Unicode CS2的转换

    /* Convert a UTF-8 string into a UCS-2 array. */ void tcstrutftoucs(const char *str, uint16_t *ary, ...

  10. Linux下Openssl的安装全过程

    第一章 1.下载地址:http://www.openssl.org/source/ 下一个新版本的OpenSSL,我下的版本是:openssl-1.0.0e.tar.gz 可以通过#wget http ...