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

How to use _Layout.cshtml in View when application is Razor Pages

在 Razor Pages 中,默认包含 _Layout.chstml(据我所知某处有设置)。如果您不想在 Razor 页面上放置 _Layout 模板:

@{
    Layout = null;
}

但是,在 MVC 视图中,您引用 _Layout.chstml:

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

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

我试过了:

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

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

假设您要在 MVC 视图中使用 Razor Pages 布局,请像在您的 MVC 示例中一样使用虚拟文件路径:

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

顺便说一句,Razor Pages 应用程序中布局页面的 "setting" 在 _ViewStart.cshtml file 中。默认版本包括以下内容:

@{
    Layout = "_Layout";
}