博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学用MVC4做网站五:文章
阅读量:7078 次
发布时间:2019-06-28

本文共 3777 字,大约阅读时间需要 12 分钟。

一般来说一个网站最主要的部分就是文章,实现了文章功能网站的核心也就出来了。今天开始做文章功能,首先文章应包含以下字段。

字段

名称

类型

必填

默认值

说明

ArtickeId

文章id

Int[key]

   

CommonModelId

公共模型Id

Int

   

Source

来源

string(255)

     

Author

作者

string(50)

     

Intro

摘要

string(255)

     

Content

内容

string

   

CommonModel

公共模型数据

CommonModel

virtual

   

在Models文件夹点右键添加Article模型

using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;namespace Ninesky.Models{      ///     /// 文章模型    ///     public class Article    {        [Key]        public int ArticleId { get; set; }        ///         /// 公共模型id        ///         [Display(Name="公共模型编号")]        [Required(ErrorMessage="×")]        public int CommonModelId { get; set; }        ///         /// 来源        ///         [Display(Name="来源")]        [StringLength(255, ErrorMessage = "×")]        public string Source { get; set; }        ///         /// 作者        ///         [Display(Name = "作者")]        [StringLength(50, ErrorMessage = "×")]        public string Author { get; set; }        ///         /// 摘要        ///         [NotMapped]        [Display(Name="摘要")]        public string Intro { get; set; }        ///         /// 内容        ///         [Display(Name="内容")]        [Required(ErrorMessage = "×")]        [DataType(DataType.Html)]        public string Content { get; set; }        public virtual CommonModel CommonModel { get; set; }    }}

 

在Repository文件夹右键添加ArticleRepository类,继承自RepositoryBase<Article>。重写Add、update、delete、find函数。

using Ninesky.Models;using System.Linq;namespace Ninesky.Repository{    public class ArticleRepository:RepositoryBase
{ ///
///添加文章 /// ///
文章 ///
public override bool Add(Article article) { dbContext.Articles.Add(article); return dbContext.SaveChanges() > 0; } ///
/// 更新文章 /// ///
文章 ///
public override bool Update(Article article) { dbContext.Articles.Attach(article); dbContext.Entry
(article).State = System.Data.EntityState.Modified; dbContext.Entry
(article.CommonModel).State = System.Data.EntityState.Modified; return dbContext.SaveChanges() > 0; } ///
/// 删除文章 /// ///
文章id ///
public override bool Delete(int Id) { dbContext.Articles.Remove(dbContext.Articles.SingleOrDefault(a => a.ArticleId == Id)); return dbContext.SaveChanges() > 0; } ///
/// 查找文章 /// ///
文章id ///
public override Article Find(int Id) { return dbContext.Articles.AsNoTracking().Include("CommonModel").SingleOrDefault(a => a.ArticleId == Id); } }}

在Controllers文件夹上右键添加ArticleController

using Ninesky.Models;using Ninesky.Repository;using System.Web.Mvc;namespace Ninesky.Controllers{    public class ArticleController : Controller    {        ArticleRepository articleRsy;        CommonModelRepository cModelRsy;        public ArticleController()        {            articleRsy = new ArticleRepository();        }
}}

在控制器中添加[UserDefault]action。作为用户登录后文章管理的默认页

///         /// 用户默认页        ///         [UserAuthorize]        public ActionResult UserDefault()        {            return View();        }

右键添加视图

@{    ViewBag.Title = "文章管理";    Layout = "~/Views/Shared/_User.cshtml";}
您现在的位置: 文章管理
@Html.Partial("PartialUserNavMenus")

F5看下效果

=============================================================

代码随后上传

2013-1-20代码:

2013-1-28日5.5“全部文章”代码:

2013-2-5日5.7“显示文章”代码

转载地址:http://sfpml.baihongyu.com/

你可能感兴趣的文章
MSDN中关于COM教程编译参数的修改
查看>>
GPS文件处理
查看>>
在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务
查看>>
hausaufgabe--python 31 - Pickle
查看>>
流程控制--while
查看>>
11.HTML表单元素【中】
查看>>
16进制转10进制
查看>>
这是标题,用来测试博客皮肤标题
查看>>
Java JTable视图窗口滚动并定位到某一行
查看>>
FILE * fopen(const char * path,const char * mode);
查看>>
HDU 4027 Can you answer these queries?
查看>>
leetcode725
查看>>
memtrack: Couldn't load memtrack module (No such file or directory) 的问题解决
查看>>
awk
查看>>
mysql丢数据
查看>>
java mybatis使用 设置resultType查询对象字段为null
查看>>
【转】mysql对large page的支持
查看>>
centos7 安装java+tomcat
查看>>
HDU 1023 Train Problem II( 大数卡特兰 )
查看>>
【LeetCode每天一题】Group Anagrams(变位词组)
查看>>