Asp.Net MVC温故而知新【2】-添加视图

下一个项目使用Asp.Net MVC技术进行开发,以前也用过,好几年没用了,今天便找了个教程,复习了一下,是Asp.Net MVC4框架,觉得浅显易懂,便复制收藏了。

在本节内容中,我们将修改HelloWorldController类,使用视图模板来干净利索的封装生成HTML响应客户端的过程。

我们将使用Razor视图引擎创建一个视图模板文件。Razor-based 视图模板文件以.cshtml结尾,提供一种优雅的方式使用C#创建HTML输出。Razor可以使编写模板文件的字符数和按键数降到最低,并可以快速的、流畅的编码。

目前控制器类中的Index方法通过硬编码返回一个字符串消息。修改Index方法使其返回一个View对象,代码如下:

代码清单1:Index方法 – HelloWorldController.cs

public ActionResult Index()
{
    return View();
}

代码清单1中的Index方法使用一个视图模板生成HTML返回给浏览器,控制器方法(也叫做action methods),像Index方法一样,通常返回一个ActionResult(或继承自ActionResult),而不是像字符串一样的原始类型。

首先,为HelloWorld控制器创建一个视图文件夹。右键Views,单击“添加”>“新建文件夹”:

图1:新建文件夹菜单

image

将文件夹命名为 HelloWorld。

在HelloWorld文件夹右键,选择“添加”>“支架”:

图2:添加支架菜单

image

在新建支架对话框中,单击MVC 5 View – Empty without model,然后点击“添加”按钮。

图3:新建支架对话框

image

在Add View对话框中,将视图命名为Index,保持其它项都是默认值,然后单击“Add”按钮。

图4:Add View 对话框

image

文件MvcMovieViewsHelloWorldIndex.cshtml 已经创建好了。

图5:资源管理器中的Index.cshtml文件

image

下面显示了被创建好的 Index.cshtml文件:

图6:创建好的Index.cshtml文件

image

在<h2>标签下面添加下面的HTML代码:

<p>Hello from our View Template!</p>

完整的MvcMovieViewsHelloWorldIndex.cshtml 文件代码如下:

代码清单2:完整的Index.cshtml 文件

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<p>Hello from our View Template!</p>

在Index.cshtml上右键,选择“在Page Inspector中查看”。

图7:在Page Inspector中查看菜单

image

更多Page Inspector的内容可以查看Page Inspector tutorial。

另外,运行程序,浏览到HelloWorld控制器(http://localhost:xxxx/HelloWorld)。控制器中的Index方法并没有做太多工作,它只是简单的运行了语句 return View(),指定Index方法应该使用一个视图模板文件呈现到浏览器的响应。因为你没有明确指定要使用的视图模板文件的名称,ASP.NET MVC 默认使用ViewsHelloWorld 文件夹下的Index.cshtml文件。下面图片中显示的“Hello from our View Template!”硬编码在视图中。

图8:浏览器中查看HelloWorld视图

image

看起来还不错。但是,注意浏览器标题栏显示的“Index – My ASP.NET Ap”和在页面顶部的大个儿的“Application name”链接。根据你窗口大小不同,你可能会看到右上角的三条杠,点击后会看到 Home、About、Contact、Register和Log in 链接。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.