3) 控制器依据模型的返回结果,继续安排处理过程:决定需要呈现给用户的正确视图,并 调用该视图(图 2。1 中的步骤 3)。
4) 然后,视图调用控制器选择的模型,要求获得需要填入的页面的数据(图 2。1 中的步骤 4和步骤 5)。在此期间,除了检索数据外,不执行任何逻辑或处理决策。
5) 最后,视图接收所需要的数据,将其格式转化为适当的形式,然后将响应传递给用户(图2。1 中的步骤 6)。
图 2。1 MVC工作流程图
2。2。NET Framework 简述
。NET Framework 是一种新的开发平台,是微软公司为适应 Internet 发展的需要而推出的一 种特别适合网络编程和网络服务开发的平台。它是一个用于 Windows 应用程序、Web 应用程 序、控制台应用程序和智能设备应用程序的平台。。NET Framework 提供了丰富的类库,这极 大的减少了开发人员的工作量。。NET Framework 有两个组件:公共语言运行时环境(Common Language Runtime, CLR)和。NET Framework 类库[4]。
2。3ASP。NET MVC中MVC模式的实现
2。3。1ASP。NET MVC中的模型
模型是实现数据交互代码和主要业务逻辑的地方。ASP。NET MVC 中的模型组件可以通 过多种方式实现,不同的项目可以采用不同的实现方式。在ASP。NET MVC中,模型负责所有 与数据有关的任务,不管是控制器还会视图都会参考模型里定义的数据类型,或是使用模型 里定义的一些数据操作方法,例如新建、删除、修改、查询等[12]。在ASP。NET MVC中可以使 用多种数据存储工具和系统,例如数据库、XML文件及文本文件,而且,对于其中的每种系 统也有多种选项可供使用。总之,模型只是具有业务逻辑的数据存储实现。
2。3。2ASP。NET MVC中的控制器
控制器组件是用来接收客户端请求的地方,并且使用控制器作为模型和视图之间的桥梁 进行相应的响应[13]。在ASP。NET MVC中,控制器是作为System。Web。Mvc。Controller基类的一 个派生类实现的。每个控制器类可以包含一系列方法,这些方法称为“动作方法”。动作方 法是ASP。NET MVC中一种特殊的类型方法,他们能够响应用户请求并将一些特定的对象返回到视图。在动作方法的内部,可以通过编写代码从模型加载适当的数据,并将数据传递到将 为用户显示的数据、恰当的视图。同样,也可以使用动作方法获取用户输入,并将其传递到 模型以更新数据存储。
2。3。3ASP。NET MVC中的视图
视图实际上是MVC应用程序的用户界面元素,在视图中实现HTML代码以及其他代码逻 辑,从而为最终用户显示数据。
用户可以编写自己的用户界面代码,使用这三种文件类型进行分发,并根据相应的控制 器和动作方法名称,在项目的Views文件夹中组织这些文件。实际开发过程中,设计人员需要 将一个控制器的所有视图放到一个与控制器同名的子文件中,为每个动作方法创建相应的视 图,并且使视图的名称和方法名称相同。
2。3。4ASP。NET MVC中的路由
尽管模型、视图和控制器是在ASP。NET MVC中实现的MVC模式中的主要念,在ASP。NET MVC中还有一个称为路由的附加概念,可用于在构建应用程序时改善开发体验,并为开发人 员提供帮助。
路由是一种机制,通过该机制可以将在应用程序中的传入请求映射到相应的资源,这些 资源通常是控制器和动作方法[13]。换句话说,路由可以在应用程序中定义一些URL模式。当 生成一个请求并且该请求和其中的一个模式匹配时,该请求将被路由到相应的控制器和动作 方法。路由机制模块的定义由RegisterRoutes方法完成。首先,第一行代码将一些特定模式从 处理过程中排除,该模式实际上用于。axd资源文件。然后是一个通用模式,该模式将所有的