ASP.NET MVC5网站开发咨询管理的架构(十一)_实用技巧

一、总体说明
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网站开发一系列的文章整理马上就接近尾声了,希望这些文章可以帮助到大家更好地开发ASP.NET MVC5网站。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
MVC5网站开发
,以便于您获取更多的相关知识。

时间: 2024-08-02 20:21:06

ASP.NET MVC5网站开发咨询管理的架构(十一)_实用技巧的相关文章

ASP.NET MVC5网站开发概述(一)_实用技巧

前段时间一直在用MVC4写个网站开发的demo,由于刚开始学所有的代码都写在一个项目中,越写越混乱,到后来有些代码自己都理不清了.正好看到别人在用MVC5写东西,喜新厌旧的我马上下载了Visual Studio 2013,幸好MVC4到MVC5变化不大,这次准备用MVC5重新写个Demo. 每次看以前写的代码总有把它丢进回收站的冲动,其实没有完美的代码,能解决问题的代码就算是好代码吧,但是我还是决定重新写一个学习的Demo,希望这次能有提高,希望这次能写完吧! 一.开发环境 1.开发环境: Vi

ASP.NET MVC5网站开发用户注册(四)_实用技巧

一.默认Web项目的更改 用户这部分还是自己做,所以删除自动生成的用户相关代码. 二.添加Member区域 在web项目上点右键 添加 区域Member. 添加Home控制器,选择MVC5控制器-空 我们给public ActionResult Index()添加一个视图,代码很简单就是显示下用户名 @{ ViewBag.Title = "会员中心"; } <h2>欢迎你!@User.Identity.Name </h2> 我们先运行一下,出错啦. 这是因为项目

ASP.NET MVC5网站开发文章管理架构(七)_实用技巧

一.总体说明 先看一下文章管理设想要实现的功能: 再看一下类图 这里Category是栏目:CommonModel是公共模型:Article是文章:Attachment是附件: CommonModel是内容管理这块抽取出来的公共部分,像文章,咨询甚至产品都有一些共同的内容这里把它单独提取出来作为一个类.CommonModel可能包含一片文章,包含一组附件,包含一系列评论,他们之间的关系类图中已经表示出来.  二.搭建架构 这个顺序根以前一样 1.IDAL 在IDAL添加接口InterfaceCo

ASP.NET MVC5验证系列之服务端验证_实用技巧

 这篇文章,我将会说到,使用数据注解API来进行服务端验证.ASP.NET MVC 框架在执行的时候,验证所有传递到控制器的数据,如果验证失败就把错误消息,填充到ModelState对象中,并且把这个对象传递给控制器,然后控制器中的方法,根据Modelstate的状态来判断,是否验证失败还是验证通过. 在这里,我将会使用两种方法来验证数据的合法性,一个是手动添加错误消息到ModelState对象中,另外一个方法是使用数据注解[Data Annotation] API,来做. 先来看看使用手动验证

asp.net 提高网站速度及如何利用缓存_实用技巧

输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了.而缓存API则提供了额外的灵活性(实际上是相当大的灵活性),可用于在应用程序的每一层利用缓存.本文全面介绍了这三种缓存技术在系统各层中的应用. 在ASP.NET提供的许多特性中,缓存支持无疑是我最欣赏的特性,我这样说当然是有充分理由的.相比ASP.NET的所有其他特性,缓存对应用程序的性能具有最大的潜在影响,利用缓存和其他机制,ASP.NET开发人员可以接受使用开销很大的控件(例如,DataGrid)构建站点时的额外

ASP.NET2.0 WebRource,开发微调按钮控件_实用技巧

现在.有许多开发人员已经在使用ASP.NET2.0的WebResource的功能了.WebResource允许我们嵌入资源到程序集中.包括图像,文本等. 在介绍WebResource就不得不介绍一下WebResource.axd,我们来看一下 script language="javascript"     src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848"    

ASP.NET MVC5网站开发我的咨询列表及添加咨询(十二)_实用技巧

上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 一.菜单 打开上次添加的ConsultationController控制器,添加Menu action,返回分布视图 /// <summary> /// 菜单 /// </summary> /// <returns></returns> public ActionResult Menu() { return PartialView

ASP.NET MVC5网站开发管理列表、回复及删除(十三)_实用技巧

一.管理列表跟上次我的列表相似,直接贴代码了. 首先打开Consultation控制器,添加ManageList方法 /// <summary> /// 咨询管理 /// </summary> /// <returns></returns> public ActionResult ManageList() { return View(); } 添加返回json数据的ManageJsonList public JsonResult ManageJsonList

ASP.NET MVC5网站开发修改及删除文章(十)_实用技巧

上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据.一.删除文章 由于公共模型跟,文章,附件有关联,所以这里的删除次序很重要,如果先删除模型,那么文章ModelID和附件的ModelID多会变成null,所以要先先删除文章和附件再删除公共模型. 由于公共模型和附件是一对多的关系,我们把删除公共模型和删除附件写在一起. 在BLL的BaseRepository类中有默认的Del