N2CMS Mvc Examples 学习记录 (1) – 整体解析

本文介绍了N2CMS Mvc框架的应用,通过一个实例展示了如何使用该框架快速构建网页。内容项(ContentItem)是核心,包括ContentPage、CommentItem、NewsContainer、NewsPage和TextPart等类型,分别对应不同的页面内容。利用N2CMS提供的模型、控制器和视图,可以方便地管理和展示数据。文章提到了MVC结构中模型、控制器和视图的定义,并指出N2CMS对于数据存储和管理的支持。
摘要由CSDN通过智能技术生成

这个示例用到了N2框架和管理界面,这样就不用对数据的存储和管理发愁了(都交给N2了),剩下的工作就是利用N2框架来快速地搭建前台的页面。实际上既可以用WebForms来实现这些页面,也可以使用MVC 2(MVC 3好像还不支持)来实现,这个例子使用的就是后者。N2CMS提供了其他的示例和模板来帮助我们搭建更好的网站,不过从一个简单的例子来开始可以更轻松的学习和使用N2CMS。

从N2CMS的角度来看,所有的具体内容(即要显示在页面上的信息)都是一种内容项(ContentItem)的实例,不同的内容项用于存储不同格式的内容,比如新闻容器项要能获取包含的新闻的列表,而新闻项则用来存储和提供一条具体的新闻信息,评论项则用来存储和提供对某个新闻(当然不局限于新闻)的评论。在MVC中,数据显然是由模型(Model)来定义的,当然还少不了控制器(Controller)和视图(View)。

在N2CMS Mvc示例中,定义了5种内容项(表示普通内容项的ContentPage、表示评论的CommentItem、表示新闻容器或者叫做新闻列表的NewsContainer、表示新闻内容的NewsPage和表示文本构件的TextPart),按照约定,它们都必须是N2.ContentItem的子类,为简化代码,示例中提供了一个抽象父类AbstractPage,这个抽象类是N2.ContentItem的直接子类,这5个内容项类中的4个都是这个抽象类的子类,这4个类将会以页面的形式显示出来,剩下的TextPart类则被当作构件(part)来使用,构件可以嵌入到页面的某个部位,具有很强的灵活性。

基本上每个内容项类(模型)都有对应的控制器,控制器类最好定义为N2.Web.Mvc.ContentController的子类。不过值的注意的是抽象的AbstractPage类有一个对应的控制器类,而它的一个具体的子类,ContentPage,代表普通内容项,却没有对应的控制器。简单的控制器(如ContentController)不需要任何方法,因为它的父类已经提供了基本的Index()方法,如果子类有特殊的需要,可以重写此方法,并提供其他必需的方法。

有了控制器,还需要对应的视图。显然每个控制器的每个方法都有对应的视图,将会在页面中显示模型的视图用ASPX模板呈现,而以构件显示模型的视图则用ASCX模板呈现。可以使用母版而来简化公共的模板内容。

Mvc示例还提供了一个StaticController控制器和对应的视图,它没有模型,N2CMS无法管理它,所以它只能显示静态内容。

运行并安装后,就可以使用它定义好的内容项来创建不同的内容页了,整个操作过程简单易学。下面是我折腾半天后的首页截图:

image

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值