学习MVC之租房网站(九)-房源显示和搜索

在上一篇<学习MVC之租房网站(八)- 前台注册和登录>完成了前台用户的注册、登录、重置密码等功能,然后要实现与业务相关的功能,包括房源的显示、检索等。

一 房源显示

房源显示内容较多,涉及到的有House、Attachment、HousePic,处理的信息包括房屋类型、朝向、楼层、装修状态、家具等。

这里显示的房源是通过后台的房源管理维护的,后台添加房源时会上传图片、使用UEditor编辑文本,前台显示房源时也要把图片和富文本显示出来。在前台使用后台上传的图片是个问题;UEditor产生的富文本则要用Raw()方法处理。

前台针对手机界面,用到日期控件的地方不能再使用类似后台的样式,MUI有提供了适用于触摸场景的日期控件mui.DtPicker



二 搜索

搜索方式有两种,给定条件的搜索和模糊匹配搜索。

a) 给定条件的搜索类似电商网站的筛选功能,这儿筛选的是房子的位置、价格区间等,模糊匹配要根据用户在搜索框输入的信息,从小区名称、位置等多个方面查找匹配内容。这两种搜索需求使用EF或者SQL拼接都可以实现,但对于模糊匹配来说,使用ElasticSearch等全文检索工具最适合。

b) ElasticSearch基于Lucene进行了扩展,提供了丰富的查询语言,用于进行快速检索。在ASP.NET下使用ElasticSearch,仍然要配置JDK环境,然后从Nuget安装连接工具PlainElastic.Net。在每次添加、修改、删除房源信息时,除了操作SqlServer,要同步维护ElasticSearch,需要快速检索时就从ElasticSearch中寻找。但ElasticSearch的信息不能修改,只能删除后重新添加。ElasticSearch

注:

课程内容来自如鹏网(www.rupeng.com),专注于大学生就业的在线教育平台;

ASP.NET MVC课程 http://www.rupeng.com/News/9/640.shtml

时间: 2024-10-25 14:27:58

学习MVC之租房网站(九)-房源显示和搜索的相关文章

学习MVC之租房网站(七)-房源管理和配图上传

在上一篇<学习MVC之租房网站(六)-用户登录和权限控制>完成了后台用户登录和权限控制功能的开发,接下来要完成的是房源的管理,用户在后台新增.编辑房源信息,供前台用户操作. 一 房源管理 1 房源列表的显示和删除比较常规,但事后也有一些需要注意的地方 a) 关于分页,因为很多地方都会用到,于是封装好以便统一使用. 为了保证输出的html文本能被正确渲染,使用了@Html.Raw()方法,分页信息使用ViewBag从Controller传递过来,虽然ViewBag是动态类型,但用来传递分页信息还

学习MVC之租房网站(八)- 前台注册和登录

在上一篇<学习MVC之租房网站(七)-房源管理和配图上传>完成了在后台新增.编辑房源信息以及上传房源配图的功能.到此后台开发便告一段落了,开始实现前台的功能,也是从用户的登录.注册开始. 前台模板使用MUI,一套用于手机端的HTML5模板,但开发期间仍然使用Chrome.FireFox等PC浏览器. 一 注册 注册要求用户输入手机号密码等信息 a) 注册的处理过程为:用户输入手机号后,给手机发送验证码,用户提供收到的验证码以及密码.确认密码,随后便可以点击注册,在浏览器进行简单的有效性校验后,

学习MVC之租房网站(十二)-缓存和静态页面

在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和页面静态化. 使用缓存可以降低数据库的压力,而使用页面静态化则可以降低Web服务器的压力. 一 缓存 ASP.NET下可用的缓存为System.Web.Caching.Cache,保存在服务器内存中,不适用于服务器集群,虽然也用没用过集群,但现在的主流都使用NoSQL数据库来做缓存,典型的有Redis和Mem

学习MVC之租房网站(十一)-定时任务和云存储

在上一篇<学习MVC之租房网站(十)-预约和跟单>完成了用户的预约看房以及后台操作员对预约看房的跟单操作.接下来会做定时发邮件的功能,并且用云存储进行上传图片的保存. 一 定时任务和邮件发送 a) 通过实现定时发邮件这个功能,在学习Quartz.Net的同时也能用用邮件发送.Quartz.Net支持各种各样灵活的定时配置,以天.周.月的周期都能支持.使用Quartz的时候,要涉及三个方面:IScheduler.Job和Trigger,自己写的任务作为Job,定时配置放在Trigger中,到了指

学习MVC之租房网站(三)-编写实体类并创建数据库

在上一篇<学习MVC之租房网站(二)-框架搭建及准备工作>中,搭建好了项目框架,并配置了EF.Log4Net和进程外Session.接下来会编写Eneity类并采用CodeFirst的方式创建数据库. 一.数据库表结构举例 1. 在按照CodeFirst方式编写Entity类之前,仍然是需要先搞清楚数据库的表结构.首先肯定会有用户.管理员.角色.权限等相关的表,然后针对租房的特殊场景,还有房屋.房屋家电配置.房子所在的地址包括城市和区域等. 2. 这里面有两张表比较特殊,T_Settings和

学习MVC之租房网站(四)-实现Service层并进行单元测试

在上一篇<学习MVC之租房网站(三)-编写Eneity类并创建数据库>中,记录了编写Eneity类并采用CodeFirst的方式创建数据库的过程,接下来就到了Service层的实现了,并且在开始后续工作前,首先进行充分的单元测试. 长久以来,一直为写出很多bug而苦恼,这儿用过单元测试后,惊喜地发现,这不正是保证代码质量的好方法嘛,虽然会耗费额外的时间,但决定以后要把单元测试运用到工作和学习的实践中. 一.实现Service层 1. 为了减少模块.层之间的耦合,在Service层上面增加了IS

学习MVC之租房网站(一)-项目概况

这儿的MVC是ASP.NET MVC,只用过C#一种语言,后面就直接称呼为MVC了. 一年多没接触MVC后,现在想用MVC做个网站,觉得特别吃力,以前学的仅仅是皮毛,所以闲置了一年后,MVC知识就重新归零了. 这几周学习MVC的过程中,博客园葡萄城的MVC汇总资源给了我很大的帮助(http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html),尤其是"ASP.NET MVC 音乐商店"系列教程,学完音乐商店后

15天学习MVC后的小结(分享经历与想法)

学习MVC已经有半个月,看了看日历,刚好半个月.分享了好几篇练习的博文:一,<创建第一个MVC应用程序> http://www.cnblogs.com/insus/p/3358560.html二,<@Styles的nameSpace是什么>http://www.cnblogs.com/insus/p/3358703.html三,<MVC应用程序使用Entity Framework>http://www.cnblogs.com/insus/p/3359111.html四,

使用mvc模式开发网站

看了韩顺平的j2ee的视频后,吧里面教的做了出来,感觉好极了,新手上路!!! 这个肯定不是原创,但是也不是转载,那我就姑且把它作为翻译吧,给其他看视频学习但是没有代码的同学一点福利吧 首先是login.jsp的登陆界面代码. <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <% String path = request.getConte