猿教程 Logo

Asp.Net Core-视图Start

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

在本章中,我们将讨论Razor View Start。 MVC中的Razor视图引擎有一个约定,它将查找名为_ViewStart.cshtml的文件,并执行该文件中的代码。 然后才执行在单个视图中的代码。


  • ViewStart文件中的代码无法呈现到页面的HTML输出中,但可以用于从各个视图中的代码块中删除重复的代码。

  • 在我们的例子中,如果我们想要每个视图都使用我们在上一章中创建的布局视图,我们可以把设置Layout的代码放在一个ViewStart中,而不是每个视图中都有相同的代码。


ViewStart示例

让我们举一个简单的例子来看看这是如何工作的。 在我们的应用程序中,我们不希望在每个视图中都指定其布局视图是_Layout.cshtml。 因此,右键单击Views文件夹,然后选择Add→New Item。


ASP.NET MVC中有一个特定的模板用于ViewStart页面,因此在中间窗格中选择MVC View Start Page。 这里最重要的部分是这个文件名为_ViewStart.cshtml。 现在点击添加按钮。


ViewStart文件的主要用途是设置布局视图。

让我们现在去Index.cshtml文件并剪切布局行,然后将其添加到ViewStart文件,如下面的程序所示。

@{
  Layout = "~/Views/Shared/_Layout.cshtml";
}
  • 当MVC框架去渲染视图时,它会看到在文件夹层次结构中是否有一个ViewStart文件。

  • 我们将_ViewStart直接放入我们的Views文件夹。 这将影响Views文件夹内的所有文件夹中的所有视图,以及Home文件夹中的视图以及Shared文件夹以及我们将来可能添加的任何其他控制器文件夹。

  • 如果我们使用ViewStart并将其放在Home文件夹中,那么这个小代码只会在我们的Home文件夹中渲染其中一个视图时执行。

  • 我们甚至可以有多个ViewStart文件,所以我们可以在Views文件夹中设置一个ViewStart.cshtml,为所有视图设置Layout视图。

  • 但是,如果我们想要更改Home文件夹中所有视图的默认值,我们可以在Home文件夹中创建另一个ViewStart,将布局设置为其他值。

让我们保存所有文件并运行应用程序。


你会发现你的主页跟之前一样,我们仍然有布局视图效果。

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/ASPNET-CORE/core-view-start.html