1.2 认识ASP.NET MVC项目结构

1.开发环境

操作系统:xp、vista、windows 7、windows 8、windows server 2003|2008|2008R2|2012;

集成开发环境IDE:

  • Vsiual Studio 2010,只提供ASP.NET MVC 2,若要使用MVC 3或4,需要安装一个独立的包。最简单的办法是使用微软的Web平台安装程序(Web Platform Installer)。
  • VS2012,提供ASP.NET MVC 4。
  • VS2013,提供ASP.NET MVC 5。

2.创建ASP.NET MVC默认项目

(1)“文件”->“新建”->“项目”

(2)在“新ASP.NET MVC 4项目”窗口中的“选择模板”列表中选择“Internet应用程序”模板。

 

(3)启动网站

3.认识默认项目模板

(1)6个预安装项目模板

  • 空模板:不包含任何内容,只会创建一个空的ASP.NET MVC项目。
  • 基本模板:大部分内容为空,只包含基本的文件夹、CSS以及ASP.NET MVC应用程序的基础结构。如果直接运行通过基本模板创建的应用程序将会出现错误提示消息,因为还没有设置应用程序启动项。基本模板是为具有ASP.NET MVC开发经验的人员设计的,基本模板可以按照他们的想法精确地设置和配置。
  • Internet应用程序模板:通过该模板可以快速创建一个基本的ASP.NET MVC应用程序,程序创建之后可以立即运行,并能看到一些页面。Internet应用程序模板分为连个,前一个创建出的项目包含基于Web Forms验证机制(ASP.NET Membership)的账户系统,后一个创建出的项目包含Windows验证机制。
  • 移动应用程序模板:该模板会创建一个适用于移动设备的ASP.NET MVC 4项目,并且包含基于Web Forms验证机制(ASP.NET Membership)的账户系统。
  • Web API模板:该模板会创建一个ASP.NET Web API项目。

(2)项目结构

  • App_Data目录:存放数据库、XML文件,或应用程序所需的其他数据。ASP.NET运行时能理解这种特殊目录,并会阻止用户直接访问其中的文件。只有应用程序才可以读写该目录。
  • App_Start目录:保存项目配置相关的类。
  • Content目录:包含需要随应用程序一起部署的各种非编码资源。这些资源包括图像和CSS样式表文件等。默认情况下,Content目录含有项目所使用的默认样式表Site.css,以及themes子目录,其中含有jQuery UI所使用的图像和CSS。
  • Controllers目录:控制器是用Controllers目录中的类来表示的。默认情况下,该目录含有两个控制器,即HomeController(处理访问主页的请求)和AccountController(处理身份认证)。
  • Filters目录:保存动作过滤器相关的类。
  • Images目录:保存图像文件。
  • Models目录容纳表示应用程序核心概念的各种类,或者将数据约束成某种格式的类(视图模型View Model)。随着应用程序变大,你可能会决定将这些类移到一个单独的项目之中,但对于小型项目而言,把它们放在Models目录中是一种良好的开端。默认项目包含AccountModel.cs,包含与认证有关的类。
  • Scripts目录Scripts目录是存放由应用程序所使用的各种JavaScript文件的地方。默认项目模板在这个目录中包含了相当多的文件,包括流行的开源jQuery库和用于执行客户端验证的脚本。
  • Views目录含有用于渲染用户界面的模板。其中每一个模板都被表示成一个Razor视图(.cshtml文件),并被放在以负责渲染该视图的控制器为名称的子目录中。
  • Global.asax文件提供全局可用代码,包括应用程序的事件处理程序以及会话事件、方法和静态变量,也被称为应用程序文件。
  • Web.config文件含有网站正确运行所必须的配置细节,包括数据库连接字符串等。

(3)默认项目的控制器、动作、视图

a. 控制器类和动作方法

    控制器是一个类,它继承自Controller基类。类中的动作对应URL请求。

    这个控制器包含两个动作,Index和About,分别可以通过/Home/Index和/Home/About这样的URL进行访问。

(2) 路由

    框架是如何知道将URL映射到一个特定的控制器动作的?答案就在“App_Start/RouteConfig.cs”文件中,该文件定义了将一个URL模式映射到控制器或动作的路由,其实现清单如下所示。

(3) 视图

    在Views/Home子目录中,存在名为Index.cshtml、Contact.cshtml、About.cshtml的文件,其中Index.cshtml代码如下。

 

    这个Index视图是C#代码和HTML标记的混合体。文件的顶部包含一个设置页面标题的代码块,然后在<h2/>元素中显示了一条消息。@ViewBag.Message的调用写出了在控制器中对ViewBag的Message属性所设置的内容。

    @前缀表示HTML与代码之间的转换。

4.约定优于配置(Convention over Configuration)

      它是一种软件设计范例,其主要目的是缩短开发人员在设计架构时用于决策的时间,减少由于软件设计过于富有弹性而导致的软件过于复杂的情况,通过约定让一个团队中的开发人员可以共享同一套设计架构。这样做可以减少思考时间,降低沟通成本,又不失软件的弹性。

(1)开发框架,分割成MVC三个部分;

(2)控制器,必须位于项目的Controllers目录下,以Controller结尾;

(3)视图,必须置于项目的Views目录下,Views目录的第一级目录名称必须与其对应的控制器的名称相同,Views目录的控制器名称目录下的文件名必须与其对应的Action的名称相同。

……

posted @   RunningYY  阅读(1243)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示