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

时间:2022-09-30 19:32:05

在上一篇<学习MVC之租房网站(六)-用户登录和权限控制>完成了后台用户登录和权限控制功能的开发,接下来要完成的是房源的管理,用户在后台新增、编辑房源信息,供前台用户操作。


一 房源管理

1 房源列表的显示和删除比较常规,但事后也有一些需要注意的地方

a) 关于分页,因为很多地方都会用到,于是封装好以便统一使用。

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

为了保证输出的html文本能被正确渲染,使用了@Html.Raw()方法,分页信息使用ViewBag从Controller传递过来,虽然ViewBag是动态类型,但用来传递分页信息还是很适合的。

b) 错误页面也会在多个地方使用,放在shear文件夹下,并由调用的Controller传递错误页面要具体显示的内容,但要注意有两个关于View的重载

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

Error视图要显示model的内容,但如果直接传递string类型,会被识别到第二个重载上,所以要强制转换成object。

c) 批量删除时,要用js取得选中的所有ID,上网查有多种方法,这儿用的是var formData = $('#formList').serializeArray();


2 新增和编辑在业务上涉及到家具、房屋状态、装修情况、户型等信息,涉及到的Service也较多,还会有不少下拉选项,这些信息要用ViewModel传递到Get视图。

a) 下拉框直接用HtmlHelper提供的@Html.DropDownList比较方便,能直接一行解决问题挺诱人的。

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

b) 入住时间要用到日期选择控件,这儿用了My97DatePicker。之前公司有个地方的日期控件不好用,记得有人提到过换My97DatePicker。这儿就记录在代码中,供以后用时参考吧。


二 图片操作

1 图片上传

房源信息必然少不了房子方方面面的细节图片,需要满足用户上传房源图片的需求。使用webuploader插件,效果也挺好,支持主流的批量上传、拖拽上传等操作。

2 图片删除

图片上传后,会将图片存储在服务器磁盘,并在数据库存储图片的磁盘路径,下次查看房源信息从磁盘加载图片。但这里在删除图片时使用的策略是:只删除数据库的图片路径信息,仍保留磁盘上的图片文件。

注:

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

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

学习MVC之租房网站(七)-房源管理和配图上传的更多相关文章

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

    在上一篇<学习MVC之租房网站(七)-房源管理和配图上传>完成了在后台新增.编辑房源信息以及上传房源配图的功能.到此后台开发便告一段落了,开始实现前台的功能,也是从用户的登录.注册开始. ...

  2. 学习MVC之租房网站(五)-权限、角色、用户管理

    在上一篇<学习MVC之租房网站(四)-实现Service层并进行单元测试>中,记录了实现Service层并进行单元测试的过程,接下来该到"正题"-MVC了,也就是UI层 ...

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

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

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

    学习MVC之租房网站(十一)-定时任务和云存储 在上一篇<学习MVC之租房网站(十)-预约和跟单>完成了用户的预约看房以及后台操作员对预约看房的跟单操作.接下来会做定时发邮件的功能,并且用 ...

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

    在上一篇<学习MVC之租房网站(三)-编写Eneity类并创建数据库>中,记录了编写Eneity类并采用CodeFirst的方式创建数据库的过程,接下来就到了Service层的实现了,并且 ...

  6. 学习MVC之租房网站(六)-用户登录和权限控制

    在上一篇<学习MVC之租房网站(五)-权限.角色.用户管理>完成了权限.角色.用户的增删改查,现在将基于前面完成的内容,进行后台用户登录和权限控制功能的开发. 一.用户登录 用户登录涉及到 ...

  7. 学习MVC之租房网站(十)-预约和跟单

    在上一篇<学习MVC之租房网站(九)-房源显示和搜索>完成了房源的显示.检索,然后是用户的预约看房,以及后台操作员对预约看房的跟单操作. 预约看房仅有将预约信息保存到对应表的操作,预约表有 ...

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

    在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和 ...

  9. 学习MVC之租房网站(二)-框架搭建及准备工作

    在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编 ...

随机推荐

  1. 关于解决haswell赛扬和奔腾 不能安装的问题

    打开EFI\CLOVER\config.plist,并找到KernelAndKextPatches字段,在子集内插入下面代码. <key>FakeCPUID</key> &lt ...

  2. Spring 接口代理 类代理

    1.Question Description : when you use @Transactional annotation and @RequiresPermissions annotation ...

  3. 命令行安装KVM

    查看libvirtd的状态: [root@super67 ~]# /etc/init.d/libvirtd status libvirtd (pid  2503) is running... 安装vn ...

  4. CMD下修改IP地址

    @echo off netsh interface ip set address name="本地连接" static 192.168.1.55 255.255.255.0 192 ...

  5. C&plus;&plus;模板显式实例化,隐式实例化,特化&lpar;具体化&comma;偏特化&rpar;辨析

    最近再次看C++ PRIMER PLUS的时候看到这个部分感觉讲得很烂,前后口径不一致,所以写个辨析让自己明白的同时也希望对此不太清楚的朋友能搞懂. 总结一下,C++只有模板显式实例化(explici ...

  6. Vue &plus; WebApi 小项目:构造自己的在线 Markdown 笔记本应用

    Vue + WebApi 小项目:构造自己的在线 Markdown 笔记本应用 目录 概要 知识点 完整示例图 代码与资源文件 流程步骤 概要 基于 MVP 最小可行性产品设计理念,我们先完成一个可以 ...

  7. 【Python】Python3纯代码极简教程

    #!/usr/bin/python3 ''' Python3.6.x简单教程  示例.注释  交互式和脚本式编程  变量类型  数字(Number)  字符串(String)  列表(Li ...

  8. python字符串&comma;列表常用操作

    24天养成一个好习惯,第五天! 一.字符串需要掌握的操作 1.取值(索引取值)需要注意的是只能取,不能改 msg = 'hello world' print(msg[4]) 2.切片(顾头不顾尾) m ...

  9. Kubernetes 1&period;10&period;4 镜像 版本

    1. gcr.io/google-containers/hyperkube:1.10.4 gcr.io/google_containers/pause-amd64:3.0 gcr.io/google_ ...

  10. unity---------------------关于BuildAssetBundles的使用(打包)

    using UnityEditor;using UnityEngine; public class BuildAssetBundle{ /// <summary> /// 点击后,所有设置 ...