ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构
咨询、留言、投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言、投诉都是咨询)。咨询跟文章非常相似,而且内容更少、更简单。
目录:
ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型、数据存储、业务逻辑
ASP.NET MVC5 网站开发实践(二) - 用户部分(1)用户注册
ASP.NET MVC5 网站开发实践(二) - 用户部分(2)用户登录、注销
ASP.NET MVC5 网站开发实践(二) - 用户部分(3)修改资料、修改密码
ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构
ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表
ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
一、总体说明
1、实现功能

2、类图

由于文章部分把大部分类都是实现了,这里仅多了一个Consultation类。
二、创建咨询模型类
在Ninesky.Models项目添加类Consultation(咨询模型),该模型跟Article类似都是CommonModel的扩展。
1、添加Consultation类。
using System;
using System.ComponentModel.DataAnnotations; namespace Ninesky.Models
{
/// <summary>
/// 咨询模型
/// <remarks>创建:2014.02.06</remarks>
/// </summary>
public class Consultation
{
[Key]
public int ConsultationID { get; set; } /// <summary>
/// 姓名
/// </summary>
[Display(Name = "姓名")]
[Required(ErrorMessage="必填")]
public string Name { get; set; } /// <summary>
/// QQ号
/// </summary>
[Display(Name = "QQ号码")]
[StringLength(16,MinimumLength=6, ErrorMessage = "{1}-{0}个数字")]
public string QQ { get; set; } /// <summary>
/// Email地址
/// </summary>
[Display(Name = "Email地址")]
[DataType(DataType.EmailAddress,ErrorMessage="必须输入正确的Email地址")]
public string Email { get; set; } /// <summary>
/// 内容
/// </summary>
[Display(Name = "内容")]
[Required(ErrorMessage = "必填")]
[StringLength(1000, ErrorMessage = "必须少于{0}个字符")]
public string Content { get; set; } /// <summary>
/// 是否公开
/// </summary>
[Display(Name = "是否公开")]
public bool IsPublic { get; set; } /// <summary>
/// 回复内容
/// </summary>
[Display(Name = "回复内容")]
public string ReplyContent { get; set; } /// <summary>
/// 回复时间
/// </summary>
[Display(Name = "回复时间")]
public Nullable<DateTime> ReplyTime { get; set; }
}
}
2、在CommonModel里添加外键

三、添加控制器
打开Ninesky.Web项目在Member区域添加Consultation控制器
using Ninesky.BLL;
using Ninesky.IBLL;
using Ninesky.Models;
using System.Linq;
using System.Web.Mvc; namespace Ninesky.Web.Areas.Member.Controllers
{
/// <summary>
/// 咨询控制器
/// </summary>
[Authorize]
public class ConsultationController : Controller
{
private InterfaceCommonModelService commonModelService; public ConsultationController() { commonModelService = new CommonModelService(); }
}
}
四、总结
模型是CommonModel的外键,操作时直接对CommonModel操作就行,不需要再添加DAL,BLL,内容比较简单。
ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构的更多相关文章
- ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构
上次把member的用户部分完成,现在开始做文章管理部分.文章部分根据涉及显示现实文章列表,发布文章,修改文章,删除文章等功能.最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示 ...
- ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...
- ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据. 目录: ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表
显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据 目录 ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(3)修改资料、修改密码
在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上.今天做修改资料和修改密码,TryUpdateModel是新用到的东西. 目录: AS ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销
上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册
上一次把基本框架搭建起来了,这次开始整Web部分,终于可以看到界面了小激动一下.web项目部分从用户功能开始,基本有注册,登录.注销.查找.查看.删除等涉及Member区域和Manage区域. 目录: ...
随机推荐
- 腾讯网2016回响中国:华清远见荣获2016年度知名IT培训品牌
12月1日,由腾讯网主办的“2016回响中国·腾讯网教育年度盛典”上,揭晓了“2016腾讯网教育年度总评榜”榜单.高端IT就业培训专家——华清远见教育集团凭借自身优质的高薪IT就业服务优势成功入围,荣 ...
- C++ 类对象和 指针的区别
C++ 类对象和 指针的区别 C++ 类对象和 指针的区别 转自:http://blog.csdn.net/ym19860303/article/details/8557746 指针的情况 class ...
- JAVA面试逻辑题1
一.计算推理 烧香问题: 有两根不均匀分布的香,每一根烧完的时间都是一小时.用什么办法确定一段15分钟的时间? 解题步骤: 1.点燃第一根的两头,同时点燃第二根的一头: 2.等到第一根燃尽以后,再点燃 ...
- 使用GDB 追踪依赖poco的so程序,core dump文件分析.
前言 在windows 下 系统核心态程序蓝屏,会产生dump文件. 用户级程序在设置后,程序崩溃也会产生dump文件.以方便开发者用windbg进行分析. so,linux 系统也有一套这样的东东- ...
- [IOS]使用了cocoapods 抱错Pods was rejected as an implicit dependency for ‘libPods.a’ because its architectures ......
Pods was rejected as an implicit dependency for ‘libPods.a’ because its architectures ‘i386’ didn’t ...
- Spark优化之二:集群上运行jar程序,状态一直Accepted且不停止不报错
如果运行Spark集群时状态一直为Accepted且不停止不报错,比如像下面这样的情况: 15/06/14 11:33:33 INFO yarn.Client: Application report ...
- Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...
- jQuery整理
近几日总是在用js写一些东西,jq用的反而少了,最近在工作中总是会用到不常用的jQuery方法,之前觉得可能用到的情况比较少,便没在意这些方法,结果吃了亏,现在准备重新总结一些jQuery中的一些常用 ...
- Allegro之无法保存(提示和用户有关或者和lock有关)
使用中无意出现此情况 无奈重新打开文件时发现brd文件下面有个.brd.lck文件,顺手删掉,回复正常~ 此为bug解bug,具体方法下次遇到再仔细研究是为什么~ 养成隔几分钟手动保存的好习惯,防止b ...
- windows平台,WEB开发,喜欢IE + notepad的同行进来可以看。
用多个浏览器查看自己的page( 平台是notepad) 借助window的批处理,以及系统环境变量. 首先, 写个bat, 一句start %1 %2即可. %1和%2分别表示第一个和第二个参数. ...