当应用程序是Razor Pages时如何在View中使用_Layout.cshtml

时间:2019-06-14 06:16:50

标签: model-view-controller navigationbar razor-pages

在Razor Pages中,默认情况下包括_Layout.chstml(据我所知,某处有一个设置)。如果您不想在剃刀页面上使用_Layout模板,请输入:

@{
    Layout = null;
}

但是,在MVC视图上,您​​引用了_Layout.chstml:

@{
    ViewBag.Title = "ThankYou";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

我什至不确定是否可以使用相同的_Layout。我希望如此,而我只是在Razor Pages应用程序(.NET Core 2.2 Razor Pages)中没有View的路由语法。

我尝试过:

@{
    ViewBag.Title = "ThankYou";
    Layout = "/Shared/_Layout.cshtml";
}

但是它触发了“未找到”错误。

1 个答案:

答案 0 :(得分:1)

假设您要在MVC视图中使用“剃刀页面”布局,请使用虚拟文件路径,就像在MVC示例中一样:

@{
    ViewBag.Title = "ThankYou";
    Layout = "~/Pages/Shared/_Layout.cshtml";
}

附带地,“剃刀页面”应用程序中布局页面的“设置”位于_ViewStart.cshtml file中。默认版本包含以下内容:

@{
    Layout = "_Layout";
}