[转]Asp.Net MVC 扩展联想控件
2013-07-09 14:52
281 查看
本文转自:/article/5417253.html
在web中,为改善用户体验,我们常会将一些文本输入框做成智能联想,以让用户更快更准确的输入内容。大概是这样的:当用户开始在文本框输入时,客户端脚本ajax向服务端发起请求,服务端从数据库读取返回数据,客户端解析数据附加在文本框的下拉div中供用户选择参考。
在MVC中我们可以通过扩展HtmlHelper来封装自己写的控件,以便在整个项目中像使用 Html.TextBox("") 一样来使用自定义控件。
扩展代码如下
View Code
结果演示一:简单单列
结果演示二:带表头单列
结果演示三:带表头双列
结果演示四:带表头双列+回调函数(选择一值时将key值赋给指定的Hidden中)
在web中,为改善用户体验,我们常会将一些文本输入框做成智能联想,以让用户更快更准确的输入内容。大概是这样的:当用户开始在文本框输入时,客户端脚本ajax向服务端发起请求,服务端从数据库读取返回数据,客户端解析数据附加在文本框的下拉div中供用户选择参考。
在MVC中我们可以通过扩展HtmlHelper来封装自己写的控件,以便在整个项目中像使用 Html.TextBox("") 一样来使用自定义控件。
扩展代码如下
View Code
<div> <% IDictionary<string, object> htmlAttributes = new Dictionary<string, object>(); htmlAttributes.Add("style", "width:198px"); %> 简单单列 <%=Html.SuggestBox("MySuggestBox01", "", "SuggestBox", "Suggest","name","", htmlAttributes)%> <br /><br /><br /><br /> 带表头单列 <%=Html.SuggestBox("MySuggestBox02", "", "SuggestBox", "Suggest","关键字","name","name","", htmlAttributes)%> <br /><br /><br /><br /> 带表头双列 <%=Html.SuggestBox("MySuggestBox03", "", "SuggestBox", "Suggest","编号;关键字","id;name","name","", htmlAttributes)%> <br /><br /><br /><br /> 带表头双列+回调函数 <%=Html.SuggestBox("MySuggestBox04", "", "SuggestBox", "Suggest", "编号;关键字", "id;name", "name", "id", "MySuggestBox04_ID", "0", "afterSelect()", htmlAttributes)%> <span id="tip"></span> <script type="text/javascript"> var id = document.getElementById("MySuggestBox04_ID").value; document.getElementById("tip").innerHTML = "当前选择的编号是: <font color='red'>" + id + "</font>"; function afterSelect() { var id = document.getElementById("MySuggestBox04_ID").value; document.getElementById("tip").innerHTML = "当前选择的编号是: <font color='red'>"+id+"</font>"; } </script> </div>
结果演示一:简单单列
结果演示二:带表头单列
结果演示三:带表头双列
结果演示四:带表头双列+回调函数(选择一值时将key值赋给指定的Hidden中)
相关文章推荐
- Asp.Net MVC 扩展联想控件
- ASP.NET MVC 扩展服务器控件使用方式
- [ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
- 新版asp.net mvc 分页控件:HtmlHelper扩展
- [ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
- ASP.NET MVC显示UserControl控件(扩展篇)
- ASP.NET MVC显示UserControl控件(扩展篇)
- asp.net mvc 分页控件:HtmlHelper扩展
- ASP.NET MVC 使用总结(二)——扩展HtmlHelper实现动态生成title及meta
- ASP.NET学习系列(五)开始控件之旅之TextBox及其Ajax扩展控件
- asp.net mvc动态生成file控件批量上传文件
- ASP.NET MVC中加载WebForms用户控件(.ascx)
- Asp.net MVC中1个小技巧- HTML 扩展方法 AssignIfTrue
- 转载:ASP.NET MVC扩展自定义视图引擎支持多模板&动态换肤skins机制
- ASP.NET MVC HtmlHelper 类的扩展方法
- Asp.net MVC Bundle 的使用与扩展
- ASP.NET MVC中图表控件的使用方法
- 继续不走寻常路:ASP.NET MVC中使用Web Forms用户控件
- 玩转Asp.net MVC 的八个扩展点
- ASP.Net MVC中使用Chart 控件详解