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


一 房源管理

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

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

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

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

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

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


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

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

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


二 图片操作

1 图片上传

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

2 图片删除

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

注:

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

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

转载于:https://www.cnblogs.com/zhixin9001/p/6842913.html

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

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

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

  2. 七牛 js JDK使用 - 上传APP

    [整理whh-原文地址] 背景介绍 使用JS将APP(包括安卓和IOS)上传到七牛 (上传APP所以不考虑数据处理) uptoken使用JAVA后台得到 七牛上传基于plupload下面不详述如何使用 ...

  3. 七牛 js JDK使用 - 上传APP 1

    背景介绍 使用JS将APP(包括安卓和IOS)上传到七牛 (上传APP所以不考虑数据处理) uptoken使用JAVA后台得到 七牛上传基于plupload下面不详述如何使用参见 七牛上传的简单案例也 ...

  4. java实现七牛云图片文件的上传

    java实现七牛云图片文件的上传 七牛云:https://portal.qiniu.com/create#resource 首先需要去注册一个账号实现实名认证 之后打开七牛云的 我们需要先创建一个储存 ...

  5. 网络编程学习(11)/ FTP项目(5) ——文件上传和上传断点续存功能

    网络编程学习(11)/ FTP项目(5) --文件上传和上传断点续存功能 `服务端 lib 文件夹下的 main.py 状态码的变化` 文件上传功能 `服务端 lib 文件夹下的 main.py` ` ...

  6. mac上传文件到七牛云,使用qshell上传文件到七牛云

    第一步:下载qshell(其实就是命令行,不是什么直接能打开的文件,也不是exe文件) 地址:https://developer.qiniu.com/kodo/tools/1302/qshell 选择 ...

  7. jsp使用七牛云API和webuploader上传多组图片

    文章目录 jsp使用七牛云API和webuploader上传多组图片 介绍 目录树 遇到的问题 上传组件的选择问题 进度条 多线程 前端界面 数据库 关键代码 UserPhotoDaoImpl Upl ...

  8. ubuntu 搭建一个没有上传限制,支持多用户访问,管理用户下载上传,界面优雅,文件互通的网盘(支持nas)

    一个没有上传限制,支持多用户访问,管理用户下载上传,界面优雅,文件互通的网盘! (Alist + Samba) 运行环境 ubuntu 20.04 Alist `Alist` 官网  https:// ...

  9. 七牛云存储之覆盖上传

    概述: 本地文件修改,然后需要覆盖在七牛存储空间原本已经存在的文件,那么这时需要使用七牛提供的覆盖上传: 问题: 如何实现,以及实现思路? 思路: 1.七牛提供上传策略,指定scope为< bu ...

最新文章

  1. 浅入浅出TensorFlow 8 - 行人分割
  2. 利用Hadoop Streaming处理二进制格式文件
  3. Lombok的@Data生成的hashCode和equals方法坑
  4. Final Michael Scofield
  5. C# 调用FLashPaper2(二)
  6. Unity 3D Hierarchy视图
  7. MySQL闪回原理与实战
  8. Linux查找命令与find命令详解
  9. 计算机232接口接线,RS232接口
  10. Chrome 扩展开发教程
  11. 微信小程序采坑三:输入框设置自动获取焦点后无法自动获取焦点
  12. PCAT 点云标注软件
  13. EV3文件打不开,闪退怎么办(完美解决,无弹窗,无警告)
  14. VitalTools 唯她CAD工具集
  15. android 啦窗帘的动画,android 下拉窗帘效果
  16. 邮件服务器名,接受邮件服务器名称有哪些
  17. SpringCloud SpringBoot uniapp vue b2b2c 微服务 多商家入驻直播带货商城 分销商城 秒杀 高并发电商之责任链模式
  18. 概率论第二章知识点+错题总结
  19. 网页中如何将文字和图片垂直居中
  20. 微信小程序 解决按钮点击后e.currentTarget.dataset为空的方法

热门文章

  1. 增量集成测试和非增量集成测试
  2. 鸿蒙系统 当贝市场,【当贝市场】2000块的电视有哪些?618性价比电视推荐
  3. 中国建设招标网,可以查询企业资质
  4. ROS使用科大迅飞SDK进行语音合成在编译出现alsa/asoundlib.h: No such file or directory
  5. 【2020年中】——跃入人海
  6. CAD教程:CAD软件中计算面积时如何转换单位?
  7. UML初探——用例图学习UMLet使用详解
  8. 武大首位女院士逝世,国际再生资源领域最高奖中国第一人,享年80岁-1
  9. vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
  10. 全球销量下滑、紧急换帅 奔驰将奔向何处?