本文出处:http://hi.baidu.com/kb81/blog/item/6f7e040848be85d162d98634.html
学习了一段时间的ajax,也该做一点实际的东西出来了,有些网站有很多专业的术语,而需要提供想词典一样的页面功能供浏览者使用以便随时参考术语的意思。
所谓要像词典一样的功能的话,就一定要有查找的功能了,要怎么样设计查找功能才能使使用者更方便的来使用这个词典呢?相信大家也用过金山词霸,在使用词霸查单词的时候,只要输入一个字母,下面就要相应相近的词语出现,慢慢缩小用户查找的范围,这样在用户不是很清楚单词的拼写的时候可以在输入一部分后在下面找到相应的单词,实现快速查找。
下面我模仿这样的功能,做一个简单的词典查找功能,也就是自动完成功能。不用多说,还是老办法,先贴几张图上来看一下更加明了一点。
1、当我们需要查找某个单词的时候,在查找输入框里输入字母,随着我们的输入,输入框下面就会出现相应的提示,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/749c7e672d56635f964fddf60c30a8df.jpeg)
当我输入字母b的时候,出现了所有数据库中存有以b字母开始的所有项目,这都是实时的,接着可以输入其他的字母,然后就会逐渐缩小搜索的范围。如下图
![](https://i-blog.csdnimg.cn/blog_migrate/8fd691056c011bccbd0fd46778c3ab77.jpeg)
:)看到了吧,你可以用鼠标点击下面的某个项目,就可以自动填充到文本框里边去了。
2、原理都清楚了,下面把主要的程序也贴出来给大家看看了。程序主要包括两个部分,C#后台代码和javascript代码。
a)C#后台代码:
新建一个页面,命名为DictionaryAutoComplete.aspx,把页面除开第一行声明部分的其余代码全部删除掉,然后转到后台C#代码。(还要在页面的引用入using System.Text;和using System.Data.SqlClient两个命名空间)
在该页的Page_Load里输入:
b)javascript代码:
新建一个js文件,然后输入下面的代码
// JScript 文件
// Dictionaryajax.js
然后再新建一个Dictionary.aspx页面,里边包括一个TextBox控件,把其命名为Dictionary1_names,然后导入js文件到页面,然后所有的功能就完成了。赶快试试吧~~~~HTML代码如下:
别忘了在.cs文件Page_load中加入以下代码:
this.names.Attribute.Add("onKeyup","findNames();");