65.9K
CodeProject 正在变化。 阅读更多。
Home

以 MVC 风格学习 ASP.NET:第一部分 - ASP.NET MVC 5 简介

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.73/5 (26投票s)

2014年12月17日

CPOL

11分钟阅读

viewsIcon

61093

本文概述了 ASP.NET MVC 5 这一 Web 应用程序框架。

目录

本文将涵盖以下主题

先决条件

本系列文章使用了新推出的 Visual Studio Community 2013,它自带最新的 ASP.NET MVC 5 框架。我写过一篇关于如何安装 Visual Studio Community 2013 的文章。你可以在这里找到链接

路线图

这是迄今为止本系列的路线图

引言

我编程已有两年,我的职业生涯始于 ASP.NET Web Forms。我对 Web Forms 非常满意,也很喜欢微软的快速应用程序开发(RAD)方法。在我两年的 ASP.NET 职业生涯中,我看到了 .NET 社区从 ASP.NET Web Forms 到 ASP.NET MVC 的巨大转变。每个人都在热议 ASP.NET MVC 框架,并被它所吸引。

因此,我决定尝试一下这个框架的味道,并开始学习 ASP.NET MVC5。本系列文章“以 MVC 风格学习 ASP.NET”是我关于它的学习笔记的集合。我不知道它是否是学习 MVC 的入门指南,但如果它能帮助某些人学习这个流行的框架,我将非常高兴。那么,让我们一起深入 ASP.NET MVC5 的世界吧。

如果你正在阅读这篇文章,而不是偶然,那么我假设你了解以下两件事

  1. ASP.NET:ASP.NET 是微软开发的一个开源 Web 应用程序框架,用于构建健壮且动态的 Web 应用程序。最初,它支持 Web Forms 和 Web Pages 两种开发方法。多年来,ASP.NET 引入了 Web Forms 的替代方法,用于开发基于 MVC 模式的 Web 应用程序,称为ASP.NET MVC
  2. MVC:MVC 代表 Model-View-Controller(模型-视图-控制器),是一种遵循“关注点分离”原则的软件架构模式。该原则将应用程序分为三个相互关联的部分:Model(模型)、View(视图)和 Controller(控制器),每个部分都有非常特定的职责。该模式的目标是,这三个部分可以相对独立地开发和测试,然后组合在一起创建一个非常健壮的应用程序。

自 ASP.NET 诞生于 2002 年以来的 13 年里,它经历了数次重大的变革,从适应 MVC 架构模式到完全转向开源社区。由于微软现在遵循开源理念,我们可以在任何操作系统平台上学习和编写 ASP.NET MVC。在本系列中,我将使用 Windows 平台,使用最新的 ASP.NET MVC 5 框架来开发 Web 应用程序。

入门

模型-视图-控制器 (MVC)

Modal-View-Controller(模型-视图-控制器),最初被称为“Thing-Model-View-Controller”,是由 Trygve Reenskaug 于 1978 年在 Xerox PARC 工作时引入和实现的软件架构模式。它最初用作创建图形用户界面(GUI)的架构模式,但它也构成了互联网工作方式的基础。

Trygve Reenskaug 撰写了关于 MVC 模式的完整文档,可以在此处找到 [^]。根据文档,“MVC 被构想为用户控制大型复杂数据集问题的通用解决方案。MVC 模式将整个应用程序分为三个相互关联的部分,以便呈现给用户的数据与其内部存储和表示方式是分开的。” MVC 模式的三个相互关联的部分是

  • Model(模型):是应用程序的业务层,负责数据访问。它包含将最终显示给用户的数据的访问逻辑。它还负责业务规则、验证以及与数据访问相关的其他事项。但是,它不知道数据是如何显示给用户的。

  • View(视图):是应用程序的用户界面,负责将 Model 的数据呈现给用户。它不知道数据是如何检索的,并且可以呈现 HTML、XML、JSON 和其他自定义类型。

  • Controller(控制器):顾名思义,它控制整个应用程序,并且被认为是应用程序中最重要的部分。它主要负责处理用户输入。它首先确定用户的需求,并相应地与 Model 进行通信,向 View 提供要显示给用户的数据。没有控制器,Model 就不知道该获取什么数据,View 也不知道该生成什么输出给用户。

模型-视图-控制器 (MVC) 的现实世界类比

在学习 MVC 时,我偶然发现了一篇文章,它用一个简单的现实世界示例来解释 MVC 模式。我在这里使用相同的示例。文章链接可以在这里找到 [^]

为了在现实世界中理解 MVC 模式,请考虑一个专业摄影师的情况。他被要求为促销活动拍摄一座美丽桥梁的照片。为了拍照,摄影师必须使用相机并对准各种角度以获得完美的照片。最终的照片随后在促销活动中向外界展示。

如果我们在这里遵循 MVC 模式,那么桥梁就是Model,它可以为活动提供一张美丽的照片。相机是View,其主要目的是捕捉桥梁的美丽照片并将其展示给外界。摄影师扮演着Controller的角色,控制着整个拍照过程。他对活动中展示的最终结果负责。

从 MVC 到 ASP.NET MVC

ASP.NET MVC

ASP.NET MVC 是微软对 MVC 模式的诠释。2007 年 10 月,Scott Guthrie 使用 MVC 模式编写了一个简单的应用程序,并在 ALT.NET 大会上将其介绍给了一群开发人员。它在会议上得到了广泛赞赏,.NET 社区对 ASP.NET MVC 的早期原型(代号为Scalene)表现出了兴趣。它产生了如此多的兴趣和兴奋,以至于在 2009 年 3 月 13 日,Scott Guthrie 推出了ASP.NET MVC 1.0的第一个公开版本,作为微软的官方产品。

仅仅 5 年的时间,它就在社区中得到了广泛认可,并且微软在最初的 ASP.NET MVC 1.0 之前已经发布了 5 个主要版本。当前稳定版本是ASP.NET MVC 5,我将在此系列文章中使用此版本。

ASP.NET MVC 的目标

ASP.NET MVC 框架为 Web 开发提供了大量好处。该框架的主要目标是

  1. 可扩展性:ASP.NET MVC 框架的组件设计得易于替换或定制。通过可扩展性,我们可以用其他/第三方组件替换内置组件。例如,ASP.NET MVC 中用于呈现 HTML 的默认视图引擎是Razor,但我们也可以选择使用自己的视图引擎来呈现 HTML。
  2. 测试驱动开发 (TDD):使用 ASP.NET MVC,我们可以轻松地为我们的应用程序创建单元测试。我们还可以单独测试应用程序的各个组件。TDD 方法为我们的应用程序增加了额外的保护层,以抵御意外的结果和错误。
  3. 关注点分离:ASP.NET MVC 提供了清晰、组织良好且高效的代码组织。它对于 Web 应用程序的功能扩展非常有帮助,并且推广了良好的设计模式。
  4. URL 路由机制:ASP.NET MVC 的路由机制比 Web Forms 对 SEO 更友好。URL 不再需要包含基于文件的扩展名.aspx。与 Web Forms 的基于文件的机制相比,它有一个高效的基于方法(mechanism)的路由方法。

ASP.NET MVC 的发布历史

微软在最初的ASP.NET MVC 1.0之前,已经发布了 ASP.NET MVC 的 5 个主要版本。下表显示了 ASP.NET MVC 的各个版本和发布历史。

表 1:ASP.NET MVC 历史

创建你的第一个 ASP.NET MVC5 应用程序

开始学习的一个好方法是创建一个使用该框架的应用程序,并熟悉所有必要的步骤。让我们使用 ASP.NET MVC5 框架创建一个简单的 Web 应用程序

步骤 1:打开 Visual Studio,创建一个新项目,并将其命名为'MVC5Demo'。强烈建议在对话框左侧单击“Web”链接以使用 ASP.NET MVC 5 框架。在对话框右下角,我勾选了“添加到源代码管理”选项。它用于将你的源代码添加到版本控制系统(通常是 TFS 或 GIT)。这是一个可选设置,如果你愿意,可以不勾选它,然后单击“确定”。

步骤 2:下一个对话框窗口会提示你选择 Web 应用程序的模板。由于我们正在使用 MVC 框架创建 Web 应用程序,因此选择MVC。在左下角,有一个添加单元测试的选项。添加单元测试到你的项目是推荐的方法,但是这个选择是可选的,你可以不勾选它。

步骤 3:在右侧,有一个按钮写着“更改身份验证”,默认选中的模式是“Individual User Accounts”。它为你的应用程序提供了身份验证功能,并且有多种模式可供选择。如果单击它,会出现一个包含多个选项的对话框。选择所需的选项,然后单击“确定”。

步骤 4:你的应用程序几乎完成了。如果你在开始时选择了“添加到源代码管理”选项,则会出现一个对话框,询问你应用程序的源代码管理系统。选择所需的选项,然后单击“确定”。此步骤是可选的,仅在勾选“添加到源代码管理”选项时出现。

步骤 5:完成所有配置和设置后,Visual Studio 会为你创建一个项目并显示Readme 文件

步骤 6:按F5 键运行项目,或者在 IDE 中单击“开始调试”。太棒了,你已经使用 ASP.NET MVC 5 框架创建了你的第一个 Web 应用程序。

这个应用程序将帮助你熟悉 ASP.NET MVC 5。在接下来的几篇文章中,我们将更深入地探讨 ASP.NET MVC 5 的世界。

检查 ASP.NET MVC 应用程序的版本

到目前为止,我们已经创建了一个 Web 应用程序,我一直在告诉你我们正在使用最新的 ASP.NET MVC5 框架。但是,没有一个地方是我们实际选择过框架版本的。那么问题来了,如何在应用程序中检查 ASP.NET MVC 框架的版本?有几种方法可以检查我们应用程序中 ASP.NET MVC 框架的版本

选项 1:通过“Web.config”文件

打开项目的“Web.config”文件,搜索<assemblyBinding></assemblyBinding>标签。在其下方,查找'System.Web.MVC'程序集,并检查newVersion,它描述了 ASP.NET MVC 框架的版本号。在下图中,它显示版本为'5.2.2.0'。这意味着最新的 ASP.NET MVC 5 框架。

选项 2:“packages.config”文件

打开项目的'packages.config'文件,查找具有id='Microsoft.AspNet.MVC'的包。它描述了你的 ASP.NET MVC 框架的版本,在下面的图片中,它显示版本为'5.2.2',这意味着最新的 ASP.NET MVC 5 框架。

选项 3:通过“References”文件夹

展开项目的 References 文件夹,选择'System.Web.Mvc'程序集。按F4键打开属性窗口,查找版本。在下面的图片中,它显示版本为'5.2.2.0',这意味着最新的 ASP.NET MVC 5 框架。

选项 4:通过 ASP.NET MVC 诊断页面

有一个明确的方法可以通过诊断页面来检查 ASP.NET MVC 5 框架的版本。ASP.NET MVC 诊断页面是由 Brad Wilson 创建的一个简单的 ASP.NET 页面,用于诊断 MVC 应用程序的问题。要将诊断页面添加到你的应用程序,请通过以下方式从 Visual Studio 打开NuGet 包管理器

Tools => NuGet Package Manager => Manage NuGet Packages for Solution

搜索“ASP.NET MVC Diagnostics”并安装该页面。

成功安装后,你的 MVC 应用程序将添加一个MvcDiagnostics.aspx页面,如下图所示。

运行该页面,它将显示关于你的 ASP.NET MVC 应用程序的所有重要详细信息(包括 MVC 版本)。

选项 5:使用 typeof() 运算符

这是简单且最常用的选项,我们使用typeof() 运算符来检查 ASP.NET MVC 的版本。

typeof(Controller).Assembly.GetName().Version 

示例

public string VersionDetails()  
{ 
       //To check the MVC version 
       return "The version of ASP.NET MVC is " + 
       Convert.ToString(typeof(Controller).Assembly.GetName().Version);  
} 

Point Of Interest

在本文中,我让你对 ASP.NET MVC5 框架有了初步了解。在接下来的系列文章中,我们将深入探讨 ASP.NET MVC5 的世界。你的反馈和建设性批评始终受到赞赏,请继续提出。在此之前,请努力在宇宙中留下你的印记!

© . All rights reserved.