ASP.NET MVC轻教程 Step By Step 2 ——View初探
在上一节我们完成了一个最简化的MVC程序,最重要的是下面这段代码。
public class HomeController : Controller { public string Index() { return "Hello world!"; } }
HomeController是一个Controller(控制器),而Index我们称为HomeController的一个Action(动作)。
在浏览器里呈现的“Hello world!”是Index方法返回的字符串。通常用字符串来展现网页当然是很奇葩的,我们一般使用HTML构建网页。那HTML写在哪里呢,答案就是MVC中的View(视图)。
Step 1.添加视图
我们将Index方法重新改写为如下代码。
public ActionResult Index() { return View(); }
细心的你会发现实际上我们将上一节改动的代码又给改回来了。//人生真是反复无常啊……
在Index方法中的任意位置点击右键,是的,任意位置。选择添加视图。
不要选择“使用布局页”选项。
注意视图名称与Action方法名要一致,也就是说Index方法的视图名也要叫Index。哪个什么,你非要两个叫不一样的名字?也不是不可以啦,只是要麻烦一点。视图名称与Action方法名要一致是Asp.net MVC的一种约定,不是铁律。不过遵守这种约定可以给我们编程带来极大的方便,这就是约定大于配置,约定大于配置,约定大于配置,重要的话要说三遍。
此时我们能在解决方案资源管理器中发现Views文件夹下多了一个与HomeController相对应的Home文件夹,里面有与Index方法对应的Index.cshtml文件。这些文件和文件夹都是自动生成的,无需配置。
Index.cshtml是我们熟悉的HTML文件,添加一个H1标签作为标题。
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <h1>MVC留言板</h1> </body> </html>
运行程序,就可以看到这个页面了。
View的职责是向用户提供用户界面,通常就是HTML。在View中不仅有静态的内容,也包括动态的数据,比如从数据库中获取的数据。那么View是如何获得这些数据的?请看下一节。