ASP.NET MVC - 入门 (概述、目录结构、约定由于配置)

关键字:概述、目录结构、约定由于配置

 

  • 理解ASP.NET MVC
  • ASP.NET MVC 概述
  • ASP.NET MVC 应用程序的创建方法
  • ASP.NET MVC 应用程序的结构

 

MVC在Web框架中的应用

  • 模型:描述程序设计人员感兴趣问题域的一些类,这些类通常封装存储在数据库中的数据,以及操作这些数据和执行特定域业务逻辑的代码。在ASP.NET MVC中,模型就像是一个使用了某种工具的数据访问层(Data Access Layer),这种工具包括实体框架(Entity Framework)或者与包含特定域逻辑的自定义代码组合在一起的NHibernate。
  • 视图:一个动态生成HTML页面的模版。
  • 控制器:一个协调视图与模型之间关系的特殊类。它响应用户输入,与模型进行对话,并决定呈现哪个视图。在ASP.NET MVC中,这个类通常以后缀名Controller表示。

创建ASP.NET MVC应用程序

应用程序模版

  • Internet Application模版:该模版包含ASP.NET MVC Web应用程序的启动方式,程序创建之后便可以立即运行,并能看到一些页面,这可以在短短一分钟内完成;除此之外,还包含一些针对ASP.NET Membership系统的基本账户管理功能。
  • Intranet Application模版:该模版与Internet Application模版相似,但是它的账户管理功能不是针对ASP.NET Membership系统而是针对Windows账户。
  • Basic模版:该模版非常小,其中除了包含基本的文件夹、CSS和MVC应用程序基础结构以外,别无其他。
  • Empty模版:该模版很空,比Basic模版内容还要少,只有必须的程序集和基本的目录结构,仅此而已。
  • Moblie Application模版:Mobile Application模版使用jQuery Mobile进行预配置,这样就启动创建一个只能仅移动访问的网站。该模版中包括移动视觉主题、触摸优化的UI,还支持Ajax导航。
  • Web API模版:ASP.NET Web API是一个创建HTTP服务的框架。Web API模版和Internet Application模版相似,但是它简化为Web API开发。

 

ASP.NET MVC应用程序的结构

  • /Controllers 用于保存那些处理URL请求的Controller类。
  • /Models 用于保存那些表示和操纵数据以及业务对象的类。
  • /Views 用于保存那些负责呈现输出结果的UI模版文件(如HTML)。
  • /Scripts 用于保存JavaScript库文件和脚本(.js)。
  • /Images 用于保存站点使用的图像。
  • /Content 用于保存CSS和其他站点内容,而非脚本和图像。
  • /Filters 用于保存过滤器代码。
  • /App_Data 用于存储想要读取/写入的数据文件
  • /App_Start 用于保存一些功能的配置代码,如路由、捆绑和Web API。

 

ASP.NET MVC和约定

默认情况下,ASP.NET MVC应用程序对约定的依赖性很强。例如,当街写视图模版时,ASP.NET MVC采用一种基于约定的目录命名结构,这个约定可以实现当从Controller类中引用视图引擎时,省略位置路径信息。默认情况下,ASP.NET MVC会在应用程序下的\vIEWS\[ControllerName]\目录中查找试图模版文件。

设计ASP.NET MVC是围绕一些基于约定的默认项,这些默认项在需要的时候可以被覆盖。这个概念通常称为“约定由于配置”。

ASP.NET MVC预期的约定:

  • 每个Controller类的名字以Controller结尾,这些类在Controllers目录中。
  • 应用程序的所有视图放在一个单独的Views目录下。
  • 控制器使用的视图是在Views主目录的一个子目录中,这个子目录是根据控制器名称(后面减去Controller的后缀)来命名的。例如ProductController使用的视图就放在/Views/Product目录中。

 

 

摘录自:[美]Jon Galloway,Phil Haack,Brad Wilson等著,孙远帅,邹权译 ASP.NET MVC 4高级编程(第4版) [Professional ASP.NET MVC 4] [M]、清华大学出版社,2013、1-27、

 

posted @ 2016-10-09 10:25  guqiangjs  阅读(408)  评论(0)    收藏  举报