这个示例用到了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无法管理它,所以它只能显示静态内容。
运行并安装后,就可以使用它定义好的内容项来创建不同的内容页了,整个操作过程简单易学。下面是我折腾半天后的首页截图:
分享到:
相关推荐
- **examples**:示例代码或配置文件,帮助开发者理解和学习 N2CMS 的各种功能。 - **lib**:库文件夹,包含了 N2CMS 运行所依赖的外部库和框架。 - **build**:构建相关的文件,如构建脚本或编译配置,用于生成可...
4. docs:该目录可能包含了项目的文档,包括用户手册、API参考、教程等,是学习和理解N2cms功能的重要资源。 5. examples:这里可能存放了一些示例或者模板,帮助用户了解如何使用N2cms来创建和管理内容,或者如何...
Ext.NET.MVC.Pro.2.5 Examples
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,【在线示例源码】FineUIMvc_Examples_v8.2.1【在线示例源码】FineUIMvc_Examples_v8.2.1,
Ext.NET.MVC.Pro.2.4.0.MVC.Explorer 是一个基于Ext.NET MVC框架的示例项目,用于展示在ASP.NET MVC环境中如何使用Ext.NET库进行富客户端应用开发。Ext.NET是一个强大的JavaScript库,它提供了丰富的用户界面组件,...
**标题与描述解析** ...综上所述,这个压缩包提供了使用Ext.NET 2.4框架构建ASP.NET MVC应用所需的关键资源,包括配置示例、版本更新信息、许可协议和开发指南,是开发者学习和应用该框架的重要参考资料。
【Telerik Extensions for ASP.NET MVC Q1 2010】是Telerik公司推出的一套针对ASP.NET MVC框架的UI扩展库,它包含了丰富的控件集合,为开发人员提供了高效且美观的用户界面元素。该版本发布于2010年3月9日,包含了源...
ServletExamples和JspExamples这两个项目名暗示了我们即将探讨的是Java服务器端编程的重要技术——Servlet和JSP(JavaServer Pages)的应用实例。Servlet是Java语言用于扩展Web服务器功能的接口,而JSP则是用于创建...
在TensorFlow库中,"examples"目录通常包含各种教程和示例代码,帮助初学者和开发者更好地理解和使用这个强大的深度学习框架。当你遇到"No module named ‘tensorflow.examples.tutorials’"的错误时,这意味着你的...
7. **在线示例源代码**:《在线示例源代码》FineUIMvc_Examples_v1.1.0.zip提供了实际运行的示例,通过查看和学习这些代码,开发者可以直观地了解FineUIMvc在实际项目中的应用方式,有助于提升开发效率。 综上所述...
在本篇中,我们将深入探讨JNA的核心概念、使用方法,并结合"examples"中的示例,解析其在实际项目中的应用。 一、JNA基础 1. JNA架构:JNA的核心包括三个主要部分:Platform类、Interface映射和Native方法。...
总之,这些代码示例涵盖了ASP.NET MVC 4开发的多个方面,从基本的MVC架构理解到高级特性的应用,为深入学习和实践提供了丰富的资源。通过研究这些章节,读者可以逐步掌握如何构建高效、可维护的Web应用程序。
spark_python_ml_examples, Spark 2.0 python 机器学习示例 Spark python-机器学习示例这个库是 Apache Spark 示例系列的一部分,旨在演示如何用Spark支持的不同编程语言实现机器学习解决方案的实现。 Java是唯一未...
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 by Stephen Walther #### Overview: The book "ASP.NET MVC Framework Unleashed" by Stephen Walther is a comprehensive guide aimed at experienced developers who wish ...
在这个名为“budi-kurniawan-servlet-jsp-springmvc-examples-4754f4ab5d5c”的压缩包中,可能包含了各种示例代码,涵盖了Servlet、JSP和Spring MVC的基本用法和组合应用。例如: 1. Servlet示例:展示了如何创建和...
1. **JNA的基本原理**:JNA通过映射Java接口到本地函数,实现跨语言调用。它定义了一种结构,将Java方法签名转换为本地函数调用的规范,从而避免了JNI中的复杂性。 2. **JNA的数据类型映射**:JNA提供了一套自动的...