TOC

This article is currently in the process of being translated into Chinese (~81% done).

Views:

Introduction

在本系列教程的开头部分,我们简要地讨论了一下MVC设计模式中的视图。为了看一下它到底长什么样、它做了什么,也为了让你快速上手,把项目给运行起来,我们甚至真的向项目中添加了一个视图。在本章节中,我们将深入视图相关话题。以本文作为开始,我们将深入视图的核心概念。

什么是视图?

控制器处理后端与前端之前的连接,而视图则是控制器中Action的可视化呈现结果。因此,当你在开发Web应用程序中,想要向用户展示一些视觉效果的时候,你通常就需要视图,前端视觉效果存放在视图中。一个视图包含了前端标记(HTML标记语言代码)和Razor代码,并且通常会以一种可视化效果呈现你的模型。换句话说,控制器生成了一个模型的对象,然后把这个对象传给视图,视图又将这个模型对象以可视化的形式展示给用户。

在这个节骨眼上,这些内容听起来有点抽象,尤其是你还没在实践中亲眼见到。既然这样,我建议你回到本系列教程的开头部分,重新过一遍我们向项目中添加M(模型)、 V(视图)和C(控制器)的那几篇文章,看一下这三者之间是如何进行交互的。

视图本质上就是加了Razor代码支持的HTML文件。视图使用.cshtml文件扩展名,来表明该文件是额外加了Razor代码支持的。正如你在本系列教程中的Razor章节里看到的那样,在视图里将HTML标记代码和Razor代码结合使用是非常容易的。

视图放在哪?

视图文件通常放在你的MVC项目的根目录中,一个名为Views的文件夹里。为了使.Net framework和你的控制器更容易地定位到合适的视图,你通常需要在你的Views文件夹中为每个控制器都创建一个子文件夹。因此,如果你现在分别创建了一个名为HomeController和一个名为ProductController的控制器,你的视图文件夹中就应该有两个名称分别为"Home"和"Product"的文件夹。每个子文件中又要分别对应你控制器中的Action创建一个或多个视图。下面的解决方案浏览器截图可以很好地描述我这段话:

当你遵守这些约定,.NET framework就能通过视图查找来自动定位你的视图。我们将在接下来的一篇文章中对视图查找进行讨论。

总结

视图是模型的可视化呈现,它被控制器传给终端用户。视图结合使用HTML标记代码和Razor代码,来生成浏览器能够理解的东西。在接下来的几篇文章中,我们将深入探讨有关视图高级部分的话题。


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!