MVC程序实现Autocomplete功能

原文: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步可以根据实际需要,最终显示于文本框中的是值还是文本。

实时操作演示一下:

时间: 2024-08-02 14:06:51

MVC程序实现Autocomplete功能的相关文章

Ajax autocomplete 功能问题

问题描述 请问我ABC.aspx页面上,同一个页面内有2个Textbox都需要有autocomplete功能我如果这样写-两个TextBox都会绑上这个功能,但是问题来了varparam={deptName:$('#txbDep1').val()};这边我不知道如何判断,是要取哪一个TextBox上打的东西难道只能把这这堆Code在复制一份出去写成$('#txbDep2').autocomplete({......$('#txbDep1').autocomplete({...........$(

javase-记事本程序的新建功能

问题描述 记事本程序的新建功能 给"新建"这个菜单项添加了如下监听器代码,可是运行时会出现错误. newfile.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { try { boolean exitstext=textArea.getText().equals(""); if(!exitstext) { JOptionPane.sho

java的监测工具jprofiler是否有控制原程序输入的功能?

问题描述 java的监测工具jprofiler是否有控制原程序输入的功能? 在下目前正在使用jprofiler集成eclipse做一些java代码的监测工作,我们知道对于不同的输入程序对资源的使用是不同的,为了对代码进行全面的分析,我必须手动设计各种不同的输入,重新运行程序再进行监测.jprofiler本身有没有不通过原程序直接进行输入的功能?

图片-如何给AS3程序背景变化功能

问题描述 如何给AS3程序背景变化功能 就是怎么样给一个AS3程序界面的背景不断更换图片,并且保证程序不受影响,. 要具体做法! 解决方案 用时钟多线程在后台处理

VB2005中,如何设制一个快捷键来实现程序的暂停功能?

问题描述 VB2005中,如何设制一个快捷键来实现程序的暂停功能?我之前用shortcutkeys定义了一个快捷键,但是只能在这个程序窗体被激活的情况上,才能用,如果激活别的窗体再按快捷键的话,就不管用了.....如何能让这个快捷键不受这个限制呢?还有程序的暂停功能应该如何实现? 解决方案 解决方案二:整个程序做一个线程,暂停就把这线程挂起你激活了别的窗体,系统焦点在别的窗体上,快捷键的事件又不发送到这窗体,自然就不相应快捷键了么解决方案三:谢谢你的提示~我再去琢磨琢磨~!!!!

用的spring mvc 添加了分页 功能后一直报错 求大神解决

问题描述 用的spring mvc 添加了分页 功能后一直报错 求大神解决 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver]Resolving exception from handler [com.app.controller.ManageController@185c0de]: java.lang.NumberFormatException: For input s

是否可以写java程序,来控制电脑上的某个程序,实现功能

问题描述 是否可以写java程序,来控制电脑上的某个程序,实现功能 是否可以写java程序,来控制电脑上的某个程序,实现对其他程序的操作 解决方案 在java代码中,可以调用系统中的进程的,API是Runtime类的exec函数.实例代码如下: try { Runtime runtime=Runtime.getRuntime();//获取环境相关对象 Process process=runtime.exec(""c:\windows\NOTEPAD.EXE"");

net-网页如何调用matlab的程序实现相应功能?

问题描述 网页如何调用matlab的程序实现相应功能? 网页暂时用的静态页面,也就是html css js等,想知道如何用网页作为matlab的GUI,例如网页中一个button调用matlab函数等? 查了一下网上的,最好的应该是.net实现链接matlab生成的动态库,但在VS里建立网项目中添加matlab生成的dll时,不知道如何使用这个dll,希望给予提示,谢谢!? 暂时不需要其他主机访问网页,只需要本地访问也就是暂时不需要搭建共享服务器. 解决方案 你还是需要用asp.net建立一个服

能否实现在右键菜单添加项用于通过cmd执行某exe程序的某个功能

问题描述 能否实现在右键菜单添加项用于通过cmd执行某exe程序的某个功能 最主要的是不知道怎么在cmd里执行某exe文件的某功能. 比如: 现在有一个exe程序,是一个桌面提醒程序, 我想用cmd调用这个程序的新建桌面提醒功能,请问应该怎么做? 会有大神帮忙解答吗? 解决方案 你既然注册了右键菜单,那么你的程序就可以响应菜单项,然后用ShellExecute()去调用exe程序就可以了 解决方案二: 前提是你的那个exe得支持执行其中一个功能才行 解决方案三: 可以,具体做法参考:http:/