咨询、留言、投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言、投诉都是咨询)。咨询跟文章非常相似,而且内容更少、更简单。

目录:

ASP.NET MVC5 网站开发实践 - 概述

ASP.NET MVC5 网站开发实践(一) - 项目框架

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区域 - 咨询管理的架构的更多相关文章

  1. ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构

    上次把member的用户部分完成,现在开始做文章管理部分.文章部分根据涉及显示现实文章列表,发布文章,修改文章,删除文章等功能.最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示 ...

  2. ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除

    本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...

  3. ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询

    上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...

  4. ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章

    上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据.   目录: ASP.N ...

  5. ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表

    显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据   目录 ASP.N ...

  6. ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章

    上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...

  7. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(3)修改资料、修改密码

    在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上.今天做修改资料和修改密码,TryUpdateModel是新用到的东西. 目录: AS ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销

    上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...

  9. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册

    上一次把基本框架搭建起来了,这次开始整Web部分,终于可以看到界面了小激动一下.web项目部分从用户功能开始,基本有注册,登录.注销.查找.查看.删除等涉及Member区域和Manage区域. 目录: ...

随机推荐

  1. css 简析folat

    1.float?? 不知道大家是否还记得之前我们讲过页面是文档流,具体什么是文档流,我就不说了?于是我们页面布局如果用div的话,那么块状的元素是怎么排列的,什么叫块状自己去看? 如果我们呢用div布 ...

  2. CICS的几个常用命令

    下面是CICS的几个常用命令,仅仅几个我也是刚刚使用CICS,慢慢积累. 1. cicscli /l 是查看启动的客户机守护程序,如果没有启动客户机守护程序,会提示如下信息:CCL8001I CICS ...

  3. 【Beta】Daily Scrum Meeting第二次

    1.任务进度 学号 已完成 接下去要做 502 系负责人及所负责专业的表 写出PHP测试的demo:将okHttp的请求放在非UI线程中执行 509 PHP更该用户信息:更新系负责人所负责系:删除任务 ...

  4. Android通用流行框架大全

    1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图 ...

  5. HDU2818 并查集

    Building Block Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. .Net程序员之不学Java做安卓开发:奇怪的Java语法

    1.final关键字:用以修饰类时,表示类不可以被继承,指向基本数据类型或者引用类型时,该类只可以在声明的时候初始化 2.@Override 类似C# 中override关键字,表示对父类的重写.网上 ...

  7. python将图片转换为Framebuffer裸数据格式(终端显示图片)

    要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口,直接写入像素信息即可. 但普通的图片带有头部信息或者编码格式不同,直接送入Framebuffer是显 ...

  8. 使用mac 终端 用sublime 目标文件或目标文件夹

    首先,打开终端 执行命令 vim ~/.bash_profile在.bash_profile里输入以下命令alias subl="'/Applications/Sublime Text.ap ...

  9. HW2016_字符串_STL_DP

    一.在字符串str1中删除那些在str2中出现的字符. str2可能会有重复字符,直接遍历会导致效率低下,故先借助STL的set容器对str1查重: 然后,遍历str1和str2,对str1进行查重. ...

  10. C#:获取设备电量相关信息

    更多资源:http://denghejun.github.io [DllImport("kernel32.dll",EntryPoint="GetSystemPowerS ...