MVC程序实现Autocomplete功能

简介: 原文:MVC程序实现Autocomplete功能为了加强MVC的功力,加强练习是少不了的事情。Insus.NET这次想实现文本框的autocomplete功能。在数据创建一张表[PinYin]:插入一些数据: INSERT INTO [dbo].
原文: MVC程序实现Autocomplete功能

为了加强MVC的功力,加强练习是少不了的事情。Insus.NET这次想实现文本框的autocomplete功能。

在数据创建一张表[PinYin]:


插入一些数据:

INSERT INTO [dbo].[PinYin] ([Word]) VALUES ('a'),('ai'),('an'),('ang'),('ao'),
('ba'),('bai'),('ban'),('bei'),('ben'),('bi'),('bian'),('bie'),('bin'),('bing'),
('ca'),('cai'),('cang'),('cao'),('ceng'),('cha'),('chai'),('che'),('chen'),('cheng'),('chong'),('chou'),
('fa'),('fan'),('fang'),('fei'),('fen'),('feng'),('ga'),('gai'),('gan'),('gang'),('gao'),('ge'),('gei'),
('gen'),('geng'),('gong'),('gou'),('gu'),('gua'),('guai')
GO
View Code


并创建一个存储过程usp_PinYin_GetWord:



在MVC应用程序的Models目录下,创建一个PinYin model:



读取数据库数据,创建一个Entity,展开Entities目录:



接下来,在应用程序右键,启动Manage NuGet Packages...



安装jQuery UI:




它会把相关的css和js分别安装在应用程序的Content:


和scripts目录:


接下来,我们需要创建一个Handler,它有点像Service一样,请求与处理用户所在文本框输入的文本。你先要在应用程序下创建一个Handlers目录,如果存在,可略过此步。


注意,上图代码第#10行代码,如果修改与添加了命名空间namespace,你还得打开Handler.ashx的markup添加与修改namespace:



现在我们只是练习,在Controllers目录下,打开HomeController控制器创建一个ActionResult:

 

 一切写好,就可以写View视图了:


上面的代码中,#5步可以根据实际需要,最终显示于文本框中的是值还是文本。

实时操作演示一下:

目录
相关文章
|
3月前
|
JavaScript 前端开发
将本地HTML文件转换成EXE可执行文件
将本地HTML文件转换成EXE可执行文件
|
7月前
|
Unix Linux
完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
836 0
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
|
11月前
|
Shell Linux Python
解决window移植到linux shell执行Python脚本提示找不到模块问题:
调试python工程时代码正常执行,但远程执行时,导入模块时提示找不到模块,即使模块就在当前工程目录下也不行
227 0
|
Linux Shell
LINUX X11剪贴板/clipboard访问C代码范例
LINUX X11剪贴板/clipboard访问C代码范例
202 0
|
编译器 C++
使用vs编译QT项目一直提示 machine type 不匹配的问题解决办法
使用vs编译QT项目一直提示 machine type 不匹配的问题解决办法
85 0
|
运维 Java Shell
shell脚本回顾及find文件查找基本用法| 学习笔记
快速学习shell脚本回顾及find文件查找基本用法
291 0
|
Linux 编译器 Shell
Linux 终端编译后运行.c/.cpp文件中文乱码问题
Linux 终端编译后运行.c/.cpp文件中文乱码问题
575 0
|
Java Android开发
编译+反编译+去掉jd-gui行号
编译+反编译+去掉jd-gui行号
编译+反编译+去掉jd-gui行号
|
Java C#
一个常量,C#编译通过,打开Form报错
一个常量,C#编译通过,打开Form报错
99 0