添加一个视图
最后更新于:2022-04-01 16:28:47
在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程。
您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的[Razor视图引擎](http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx)。Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML。用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,流畅的编码工作流程。
当前在控制器类中的Index方法返回了一个硬编码的字符串。更改Index方法返回一个View对象,如下面的示例代码:
~~~
public ActionResult Index()
{
return View();
}
~~~
上面的Index方法使用一个视图模板来生成一个HTML返回给浏览器。控制器的方法(也被称为[action method(操作方法)](http://rachelappel.com/asp.net-mvc-actionresults-explained) ),如上面的Index方法,一般返回一个[ActionResult](http://msdn.microsoft.com/en-us/library/system.web.mvc.actionresult.aspx)(或从[ActionResult](http://msdn.microsoft.com/en-us/library/system.web.mvc.actionresult.aspx)所继承的类型),而不是原始的类型,如字符串。
在该项目中,您可以使用的Index方法来添加一个视图模板。要做到这一点,在Index方法中单击鼠标右键,然后单击“ **添加视图“**。
[![clip_image001](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c65ec8d2.png "clip_image001")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203283518.png)
出现**添加视图**对话框。保留缺省值,并单击**添加**按钮:
[![clip_image002](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c660a9b5.png "clip_image002")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203297596.png)
您可以在**解决方案资源管理器**中看到MvcMovie\HelloWorld文件夹和已被创建的MvcMovie\View\HelloWorld\Index.cshtml文件:
[![clip_image003](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c6622e2d.png "clip_image003")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203295055.png)
下图显示了已被创建的Index.cshtml文件:
[![clip_image004](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c6635a81.png "clip_image004")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203308369.png)
在标签后面添加以下HTML。
~~~
<p>Hello from our View Template!</p>
完整的*MvcMovie\HelloWorld\Index.cshtml*文件如下所示。
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>Hello from our View Template!</p>
~~~
注:如果您使用的是Internet Explorer 9,您将看不到在上面用黄色高亮标记的<p>Hello from our View Template!</p>,单击[“兼容性视图”](http://windows.microsoft.com/en-US/windows7/How-to-use-Compatibility-View-in-Internet-Explorer-9)[按钮](http://windows.microsoft.com/en-US/windows7/How-to-use-Compatibility-View-in-Internet-Explorer-9)[![clip_image005](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c6651225.jpg "clip_image005")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203306351.jpg), 在IE浏览器中,图标会从[![clip_image005[1]](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c6651225.jpg "clip_image005[1]")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203312414.jpg)变为纯色的[![clip_image006](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-08_57a81c666b3ca.jpg "clip_image006")](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201211/201211061203317398.jpg)图标。另外,您也可以在Firefox或Chrome查看本教程。
如果您正在使用Visual Studio 2012,在解决方案资源管理器中,右键单击*Index.cshtml*文件,并选择“ **在页面检查器中查看**“。
--------------------------------------------------------------------------------------------------------------------
译者注:
本系列共9篇文章,翻译自Asp.Net MVC4 官方教程,由于本系列文章言简意赅,篇幅适中,从一个示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门Asp.Net MVC4,并由此开始开发工作。9篇文章为:
1. Asp.Net MVC4 入门介绍
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4)
· 译文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html](http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html)
2. 添加一个控制器
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller)
· 译文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html](http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html)
3. 添加一个视图
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view)
· 译文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html](http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html)
4. 添加一个模型
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model)
· 译文地址:
5. 从控制器访问数据模型
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller)
· 译文地址:
6. 验证编辑方法和编辑视图
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view)
· 译文地址:
7. 给电影表和模型添加新字段
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table)
· 译文地址:
8. 给数据模型添加校验器
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model)
· 译文地址:
9. 查询详细信息和删除记录
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods)
· 译文地址: