`
netatomy
  • 浏览: 46845 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多

这个示例用到了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

分享到:
评论

相关推荐

    n2cms开源免费

    - **examples**:示例代码或配置文件,帮助开发者理解和学习 N2CMS 的各种功能。 - **lib**:库文件夹,包含了 N2CMS 运行所依赖的外部库和框架。 - **build**:构建相关的文件,如构建脚本或编译配置,用于生成可...

    N2cms内容管理系统

    4. docs:该目录可能包含了项目的文档,包括用户手册、API参考、教程等,是学习和理解N2cms功能的重要资源。 5. examples:这里可能存放了一些示例或者模板,帮助用户了解如何使用N2cms来创建和管理内容,或者如何...

    Ext.NET.MVC.Pro.2.5.1.MVC.Examples.Explorer

    Ext.NET.MVC.Pro.2.5 Examples

    Ext.NET.MVC.Pro.2.2.0.MVC.Examples.Explorer.zip

    Ext.NET.MVC.Pro.2.2.0.MVC.Examples.Explorer.zip 是一个包含Ext.NET MVC专业版2.2.0的示例集合,专为ASP.NET MVC开发者设计。这个压缩包提供了丰富的控件演示,帮助用户理解并掌握如何在实际项目中应用这些功能...

    【在线示例源码】FineUIMvc-Examples-v8.2.1.zip

    【在线示例源码】FineUIMvc_Examples_v8.2.1,【在线示例源码】FineUIMvc_Examples_v8.2.1【在线示例源码】FineUIMvc_Examples_v8.2.1,

    Ext.NET.MVC.Pro.2.4.0.MVC.Examples.Explorer

    Ext.NET.MVC.Pro.2.4.0.MVC.Explorer 是一个基于Ext.NET MVC框架的示例项目,用于展示在ASP.NET MVC环境中如何使用Ext.NET库进行富客户端应用开发。Ext.NET是一个强大的JavaScript库,它提供了丰富的用户界面组件,...

    ext.net mvc

    **标题与描述解析** ...综上所述,这个压缩包提供了使用Ext.NET 2.4框架构建ASP.NET MVC应用所需的关键资源,包括配置示例、版本更新信息、许可协议和开发指南,是开发者学习和应用该框架的重要参考资料。

    Telerik Extensions for ASPNET MVC Q1 2010 Source,help,Examples(2010年3月9日的版本)

    【Telerik Extensions for ASP.NET MVC Q1 2010】是Telerik公司推出的一套针对ASP.NET MVC框架的UI扩展库,它包含了丰富的控件集合,为开发人员提供了高效且美观的用户界面元素。该版本发布于2010年3月9日,包含了源...

    ServletExamples JspExamples

    ServletExamples和JspExamples这两个项目名暗示了我们即将探讨的是Java服务器端编程的重要技术——Servlet和JSP(JavaServer Pages)的应用实例。Servlet是Java语言用于扩展Web服务器功能的接口,而JSP则是用于创建...

    tensorflow中examples文件下载

    在TensorFlow库中,"examples"目录通常包含各种教程和示例代码,帮助初学者和开发者更好地理解和使用这个强大的深度学习框架。当你遇到"No module named ‘tensorflow.examples.tutorials’"的错误时,这意味着你的...

    FineUIMvc_v1.1.0_全部资料

    7. **在线示例源代码**:《在线示例源代码》FineUIMvc_Examples_v1.1.0.zip提供了实际运行的示例,通过查看和学习这些代码,开发者可以直观地了解FineUIMvc在实际项目中的应用方式,有助于提升开发效率。 综上所述...

    jna和examples.zip

    在本篇中,我们将深入探讨JNA的核心概念、使用方法,并结合"examples"中的示例,解析其在实际项目中的应用。 一、JNA基础 1. JNA架构:JNA的核心包括三个主要部分:Platform类、Interface映射和Native方法。...

    asp.net mvc 4 web编程 源代码

    总之,这些代码示例涵盖了ASP.NET MVC 4开发的多个方面,从基本的MVC架构理解到高级特性的应用,为深入学习和实践提供了丰富的资源。通过研究这些章节,读者可以逐步掌握如何构建高效、可维护的Web应用程序。

    spark_python_ml_examples, Spark 2.0 python 机器学习示例.zip

    spark_python_ml_examples, Spark 2.0 python 机器学习示例 Spark python-机器学习示例这个库是 Apache Spark 示例系列的一部分,旨在演示如何用Spark支持的不同编程语言实现机器学习解决方案的实现。 Java是唯一未...

    asp.net mvc

    Changes in ASP.NET MVC 2 Preview 1 7 Known Issues 7 Disclaimer 8 This document describes the Release Candidate release of ASP.NET MVC 2 for Visual Studio 2008 SP1. Installation Notes The ASP.NET ...

    ASP.NET MVC Framework Unleashed(Stephen Walther)

    ### ASP.NET MVC Framework Unleashed by Stephen Walther #### Overview: The book "ASP.NET MVC Framework Unleashed" by Stephen Walther is a comprehensive guide aimed at experienced developers who wish ...

    Servlet,JSP和Spring MVC 初学指南源码

    在这个名为“budi-kurniawan-servlet-jsp-springmvc-examples-4754f4ab5d5c”的压缩包中,可能包含了各种示例代码,涵盖了Servlet、JSP和Spring MVC的基本用法和组合应用。例如: 1. Servlet示例:展示了如何创建和...

    com.sun.jna.examples

    1. **JNA的基本原理**:JNA通过映射Java接口到本地函数,实现跨语言调用。它定义了一种结构,将Java方法签名转换为本地函数调用的规范,从而避免了JNI中的复杂性。 2. **JNA的数据类型映射**:JNA提供了一套自动的...

Global site tag (gtag.js) - Google Analytics