9.3.5  增加HomeController控制器视图模板

9.3.5 增加HomeController控制器视图模板

上一节中,已经可以从控制器的Action中返回一个字符串,这可以帮助大家更好地理解Controller是如何工作的。但是对于创建一个Web程序来说这是不够的。下面使用更好的方法来生成HTML,主要是通过模板来生成需要的HTML,这就是视图所要做的。

为了使用视图模板,需要将HomeController中的Index这个Action的返回类型修改为ActionResult,然后,让它像下面一样返回一个视图。这些修改表示使用视图来替换掉原来的字符串,以便生成返回的结果。代码如下:

978-7-111-46863-9-Chapter09-39.jpg

现在为Index()方法增加一个视图。将光标移到Index方法内,然后,右击,在右键菜单中选择“添加视图(D)…”,这样将会弹出添加视图的对话框,如图9-23所示。

如图9-24为添加视图对话框。添加视图对话框可以快速、简单地创建一个视图模板,默认情况下,视图的名称使用当前Action的名字。因为是在Index这个Aciton上添加模板,所以添加视图对话框中,视图的名字就是Index,视图引擎为“Razor”,不勾选“创建强类型视图”,勾选“使用布局或母版页”,单击“添加”按钮。

978-7-111-46863-9-Chapter09-40.jpg

图9-23 添加视图

在单击添加之后,Visual Studio将会创建一个名为Index.cshtml的视图模板,放置在\Views\Home目录中,如果没有这个目录,MVC将会自动创建它,添加视图后的文件结构如图9-25所示。Index.cshtml所在文件夹的名称和位置是很重要的,它是根据ASP.NET MVC的约定来指定的。它所在目录名称为\Views\Home,匹配的控制器就是HomeCon-troller,而index.cshtml文件匹配的方法就是HomeController控制器下的Index方法。

978-7-111-46863-9-Chapter09-41.jpg

图9-24 添加视图对话框

978-7-111-46863-9-Chapter09-42.jpg

图9-25 项目文件结构图

打开Index.cshtml视图模板,其中的内容如下:

978-7-111-46863-9-Chapter09-43.jpg

前3行使用ViewBag.Title设置了页面的标题,在此替换一下网页的内容,将<h1>标记中的内容修改为This is the Home Page,代码如下:

978-7-111-46863-9-Chapter09-44.jpg

按<F5>键运行,运行结果如图9-26。

978-7-111-46863-9-Chapter09-45.jpg

图9-26 运行效果图