ASP.NET MVC 初学者教程:什么是, Archi质地
⚡ 智能摘要
ASP.NET MVC 是开源软件 Microsoft 该框架将 Web 应用程序分为模型、视图和控制器层,使开发人员能够完全控制 HTML、编写可测试的代码、实现清晰的路由,并为经典的 Web 表单提供轻量级的替代方案。
什么是 ASP.NET MVC?
ASP.NET MVC 是一个开源的 Web 开发框架,来自 Microsoft 它提供了一种模型-视图-控制器(MVC)架构。ASP.NET MVC 为构建 Web 应用程序提供了一种替代 ASP.NET Web Forms 的方案。它是 .NET 平台的一部分,用于构建、部署和运行 Web 应用程序。您可以借助 HTML、CSS 和 jQuery 开发 Web 应用程序和网站。 Java腳本等
通过此 ASP.NET MVC 教程学习 MVC,该教程涵盖了初学者 MVC 的所有基本概念:
为什么选择 ASP.NET MVC?
尽管网络表单非常成功, Microsoft 想到了开发ping ASP.NET MVC。 ASP.NET Web Forms 的主要问题是性能。
在一个 Web应用程序,定义绩效的主要有四个方面:-
- 响应时间问题
- 单元测试的问题
- HTML 自定义
- 代码隐藏类的可重用性
ASP.NET MVC 在上述各项指标上均表现出色。
MVC 版本历史
ASP.NET MVC1
- 13 年 2009 月 XNUMX 日发布
- 它运行在 .NET 3.5 上。
- Visual Studio 2008中
- 带有 WebForm 引擎的 MVC 模式架构
- 主要功能包括 Html & 单元测试、Ajax 助手、路由等。
ASP.NET MVC2
- 此版本于 10 年 2010 月 XNUMX 日发布
- 可在 .NET 3.5、4.0 及更高版本上运行 Microsoft Visual Studio 2008中
- 包含模板化助手、带自动脚手架的 UI 助手和可自定义模板等功能
- 它支持 DataAnnotations 属性在客户端和服务器端应用模型验证
ASP.NET MVC3
- 于 13 年 2011 月 XNUMX 日发布
- 在.NET 4.0、XNUMX 上运行 Microsoft Visual Studio中 2010
- N 的使用uGet 交付软件并允许您管理整个平台的依赖关系
- 更好 Java支持脚本、jQuery 验证和 JSON 绑定
- 它提供了诸如 Razor 视图引擎和增强型数据注释属性等功能,用于在客户端和服务器端进行模型验证。
ASP.NET MVC4
- 此版本于 2012 年 XNUMX 月发布
- 它在 .NET 4.0、4.5 以及 Visual Studio 2010 和 Visual Studio 2012 上运行
- 默认项目模板的增强
- 提供使用 jQuery Mobile 的移动项目模板、异步控制器的任务支持、捆绑、缩小等功能。
ASP.NET MVC5
- 17 年 2013 月 XNUMX 日发布
- 可在 .NET 4.5、4.5.1 以及 Visual Studio 2012 和 Visual Studio 2013 上运行。
- 支持 MVC 中的属性路由
MVC的特点
- 轻松且无摩擦的可测试性
- 完全控制你的 HTML, Java脚本,以及 URLs
- 利用现有的 ASP.NET 产品特性
- ASP.NET 的新演示选项
- 一种更简单的 ASP.NET 编程方式
- 清晰的逻辑分离:模型、视图、控制器
- 测试驱动开发
- 支持并行开发
创建 MVC 应用程序时要记住的事项
以下是 ASP.NET MVC 教程中的一些有用内容,在创建 MVC 应用程序时您需要记住这些内容:
- 您需要记住,ASP.NET MVC 并不能取代基于 ASP.NET Web Forms 的应用程序。
- MVC应用程序的开发方法必须根据应用程序的需求和ASP.NET MVC提供的功能来确定,以满足具体的开发需求。
- 与基于Web表单的应用程序相比,使用ASP.NET MVC的应用程序开发过程更加复杂。
- 通过应用程序任务的分离,应用程序的可维护性总是更高。
MVC 架构模式
MVC 是一种遵循关注点分离原则的软件架构模式。在该模型中,.NET 应用程序被分为三个相互关联的部分,分别称为模型(Model)、视图(View)和控制器(Controller)。
MVC 模式的目标是每个部分都可以被开发、相对独立地测试,也可以被组合起来以创建一个非常健壮的应用程序。
让我们详细了解一下它们:
型号
模型对象是应用程序的一部分,用于实现应用程序的逻辑 数据域。它检索模型状态并将其存储在数据库中。例如,产品对象可能从 数据库,对其进行操作。然后将信息写回到 SQL 服务器中的产品表中。
观看数
视图是用于显示应用程序用户界面 (UI) 的组件,在 MVC 中也称为视图模型。它显示基于模型数据创建的 .NET MVC 应用程序。
常见示例是项目表的编辑视图。它根据产品和对象的当前状态显示文本框、弹出窗口和复选框。
控制器
控制器处理用户交互,操作模型,并选择视图来渲染用户界面。在 .NET MVC 应用程序中,视图仅显示信息,控制器则使用 MVC 中的操作筛选器来管理和响应用户输入和交互。
例如,控制器管理查询字符串值并将这些值传递给模型。
Web 窗体与 MVC
| 参数 | 网页表单 | MVC |
|---|---|---|
| 型号 | ASP.NET Web Forms 遵循事件驱动开发模型。 | ASP.NET MVC 采用基于 MVC 模式的开发模型。 |
| 使用以来 | 自 2002 年起 | 它于 2009 年首次发布 |
| 支持视图状态 | ASP.NET Web Form 支持视图状态,以便在客户端进行状态管理。 | .NET MVC 不支持视图状态。 |
| URL 类型 | ASP.NET Web 表单具有基于文件的 URLs. 这意味着文件名存在于 URL它们必须以物理形式存在。 | ASP.NET MVC 具有基于路由的功能 URL这意味着 URL重定向到控制器和操作。 |
| 句法 | ASP.NET Web Forms 遵循 Web Forms 语法。 | ASP.NET MVC 遵循可自定义语法。 |
| 视图类型 | Web 表单的视图与此紧密相关。 Code (ASPX-CS)背后的逻辑。 | MVC、视图和逻辑始终是分开保存的。 |
| 一致的外观和感觉 | 它具有主页以保持一致的外观。 | ASP.NET MVC 具有用于实现一致外观的布局。 |
| Code 雷乌斯能力 | Web 表单提供用户控件以实现代码可重用性。 | ASP.NET MVC 提供了局部视图以实现代码重用。 |
| HTML 控件 | Less 控制呈现的 HTML。 | 完全控制 HTML |
| 状态管理 | 控制的自动状态管理。 | 手动状态管理。 |
| TDD 支持 | 需要弱或定制的 TDD。 | 鼓励并包含测试驱动开发(TDD)。 |
ASP.NET MVC 的优点
- 默认情况下高度可维护的应用程序
- 它允许您替换应用程序的任何组件。
- 更好地支持测试驱动开发
- 由于模型、视图和控制器的划分,复杂的应用程序变得易于管理。
- 通过前端控制器模式提供强大的路由机制
- 通过消除视图状态和基于服务器的表单,可以更好地控制应用程序行为
- .NET MVC 应用程序由庞大的开发人员和 Web 设计师团队提供支持。
- 它提供了对应用程序行为的更多控制。它还使用优化的带宽来处理对服务器的请求
ASP.NET MVC 的缺点
- 您无法像在 .aspx 页面中那样看到设计页面预览。
- 每次都需要运行该程序才能看到它的实际设计。
- 理解应用程序的流程可能具有挑战性
- 实现起来相当复杂,因此对于小型应用来说它不是一个理想的选择
- 学习 ASP.NET 的 MVC 很难,因为它需要对 MVC 模式有很深的理解
使用 ASP.NET MVC 的最佳实践
- 如果代码庞大且复杂,请为模型创建一个单独的程序集,以避免任何不必要的情况。
- 模型应该包括业务逻辑、会话维护、验证部分、数据逻辑部分。
- VIEW不应该包含任何业务逻辑和会话维护,使用ViewData来访问View中的数据
- 业务逻辑和数据访问绝不应该在控制器中实现。
- 控制器只应负责准备和返回视图、调用模型、重定向到动作等。
- 创建应用程序时,请从应用程序中删除演示代码(删除 AccountController)。
- 仅使用特定的视图引擎从您的视图创建 HTML 标记,因为它是 HTML 和编程代码的组合。


