MVC 简介






4.44/5 (26投票s)
ASP.NET MVC 简要介绍
MVC 简介
在本提示中,我们将介绍 ASP.NET MVC。但在那之前,我们将了解 ASP.NET MVC 的发布历史。
ASP.NET MVC 旨在用于创建网站。它是一个 Web 应用程序开发框架,就像网页一样。
MVC 架构
MVC 并未取代 Web Forms。我们可以使用 MVC 框架或 ASP.NET Web Forms 创建我们的 Web 应用程序。MVC 只是标准 ASP.NET Web Forms 模型的替代架构。这种设计模式将我们的网站分为三层,这增加了对我们 Web 应用程序的控制。
- 模型 (Model) – 模型代表业务逻辑和数据。它包含属性和应用程序逻辑。它与数据库通信,即检索数据并将数据存储在数据库中。它可以是 LINQ to SQL 或实体框架。
- 视图 (View) – 视图代表应用程序的表示层。它负责向用户提供用户界面 (UI)。基本上,它是一组网页 (ASPX) 或用户控件。没有输入逻辑或用户操作的处理,这些都在控制器内部管理。这种分离使应用程序更易于测试。
- 控制器 (Controller) – HTTP 请求被路由到各个控制器,然后控制器调用模型并选择一个视图来显示结果。控制器充当模型和视图之间的协调器。
它是一个松散耦合的开发框架,因为它分为三层。这种松散耦合有助于降低 Web 应用程序的复杂性,并使其易于维护,并提供更好的测试驱动开发,这是 ASP.NET MVC 的目标之一——提高应用程序的可测试性。
MVC 应用程序具有与 Web 表单不同的架构、结构和页面处理方式。在 ASP.NET 应用程序中,请求由 ASP.NET 处理;即,ASP.NET 调用页面,执行事件,然后返回响应。但在 MVC 中,我们必须编写模型、创建视图和编写控制器代码。在 MVC 中,请求由 UrlRoutingModule HttpModule
处理。此模块解析请求,根据我们将提供的配置选择一个路由(稍后我们将讨论路由)。然后,请求被路由到我们编写的其中一个控制器。然后,控制器有责任通过模型访问数据库,并通过视图向 UI 提供响应。因此,我们可以控制请求和响应。因此,在 MVC 中,没有什么对我们是隐藏的。我们必须在 MVC 中编写更多代码,因为没有什么东西是自动的。
ASP.NET MVC 请求生命周期
MVC 使用路由进行处理,为此我们必须使用 System.Web.Routing
命名空间。正如我们已经讨论过的,MVC 请求由 URLRoutingModule HTTPModule
处理。URLRoutingModule
获取请求并在 Route Collection 表中查找路由。我们将路由添加到 Global.asax 文件内的此集合中,在 RegisterRoutes
方法下,该方法由 Application_Start
事件调用。这些路由在应用程序启动时添加到表中。然后将请求映射到路由,并创建两个名为 RouteData
(表示 Route
)和 RequestContext
(表示请求)的对象。
MVCRouteHandler
类处理路由。它创建一个 MVCHandler
的实例,并将 RequestContext
传递给处理程序。该处理程序实际上调用控制器(我们编写的用于处理请求的控制器类)并运行其 Execute
方法。
然后,控制器使用 ControllerActionInvoker
来确定要运行哪个操作(在控制器中,我们使用操作来执行充当事件的代码)。然后 Action
方法接受用户输入,并通过使用视图和模型来准备响应。
MVC 特性
我们应该因为以下原因在 MVC 中创建我们的网站