ASP.NET MVC教程(2):ASP.NET MVC项目结构

     ASP.NET MVC开发并没有想象的那么难,主要原因是 ASP.NET MVC已经集成到Visual Studio里了。而且提供了很好的项目模板。

ASP.NET MVC 是 ASP.NET Framework 的一部分。开发 ASP.NET MVC 应用程序是开发 ASP.NET Web 窗体页面的一种替代方法;但 ASP.NET MVC 应用程序未取代 Web 窗体模型。

只要我们跟着向导,创建一个默认的ASP.NET MVC网站,很快就可以完成创建工作。

默认的ASP.NET MVC网站,是一个个人网站。

点击F5可以直接运行。看到效果,而且带有基本的主页和关于我们的网页。用户可以完成注册流程。

运行的界面如下:

http://54peixun.com/image.axd?picture=634686394990770703New%20MVC%204.PNG

主页的简单截图

模型-视图-控制器 (MVC) 模式是一项将 Web 应用程序组件分开的架构结构设计模式。通过分开组件,我们可以更好地控制应用程序的单个部件,从而能够更加轻松地开发、修改和测试这些部件。

1.安装开发包

目前最新的开发版本是4.0 Beta,支持了移动平台应用的开发等新特性。

但是3.0属于比较稳定的版本。可以从 ASP.NET MVC 下载页获取最新版本的 ASP.NET MVC 框架。有关这一 MVC 版本中的新增功能的信息,请参阅 ASP.NET 网站上的 ASP.NET MVC 3

4.0

2.ASP.NET MVC 项目结构

完安装完毕以后,重新启动Visual Studio,新建网站时,可以看到MVC的项目模板。建立网站的项目结构如下:

http://54peixun.com/image.axd?picture=634570626952236328ASP.NET%20MVC%20Web%20project.png

  • 控制器
  • 模型
  • View
  • 脚本

VS 会自动创建对应的文件夹。

3.MVC 项目包括以下文件夹:

  • App_Data,这是数据的物理存储区。此文件夹的作用与它在使用 Web 窗体页面的 ASP.NET 网站中的作用相同。

  • Content,建议在此位置添加内容文件,如级联样式表文件、图像等。通常,Content 文件夹用于存储静态文件。

  • Controllers,建议在此位置存储控制器。MVC 框架要求所有控制器的名称均以“Controller”结尾,如 HomeController、LoginController 或 ProductController。

  • Models,这是为表示 MVC Web 应用程序的应用程序模型的类提供的文件夹。此文件夹通常包括定义对象以及定义与数据存储交互所用的逻辑的代码。通常,实际模型对象将位于单独的类库中。但是,在创建新应用程序时,我们可以将类放在此处,然后在开发周期中稍后的某个时刻将其移动到单独的类库中。

  • Scripts,建议在此位置存储支持应用程序的脚本文件。默认情况下,此文件夹包含 ASP.NET AJAX 基础文件和 jQuery 库。

  • Views,建议在此位置存储视图。在 Views 文件夹中,每个控制器都具有一个文件夹;该文件夹以控制器名称前缀命名。例如,如果控制器名为 HomeController,则 Views 文件夹包含名为 Home 的文件夹。默认情况下,当 ASP.NET MVC 框架加载视图时,它将在 Views\控制器名称 文件夹中寻找具有请求的视图名称的 ViewPage (.aspx) 文件。默认情况下, Shared 的文件夹不与任何控制器相对应。用于存储共享的视图。

除了使用前面列出的文件夹之外,MVC Web 应用程序还使用 Global.asax 文件中的代码来设置全局 URL路由表,并且使用 Web.config 文件来配置应用程序。

4.总结

  1. ASP.NET MVC 目前最新的版本是4.0 Beta,可以下载学习了。
  2. 正式项目的话,目前建议ASP.NET MVC 3.0.
  3. Visual Studio 2010 提供了很好的ASP.NET MVC 3.0 、2.0、1.0的 模板,学习起来很方便。
  4. 良好的代码解构便于ASP.NET MVC 项目的开发和代码的维护管理工作

原文地址:http://msdn.microsoft.com/zh-cn/library/dd410120(v=VS.98).aspx

老徐Frank Xu Lei 修订、翻译、整理

转自 http://54peixun.com/frankxulei/POST/ac4f5c564ced4507b868e22d66740413