首页 > 解决方案 > Razor Pages 不使用它的布局

问题描述

我创建了一个位于 ~/Pages/Shared 文件夹中的 LayoutAdmin.cshtml。它在 ~/Pages/Admin 中的 Index.cshtml 中被引用,如下所示:

@page
@{ 
    Layout = "_LayoutAdmin";
    ViewData["Title"] = "Admin Home";
}

但是当我转到该页面时,它会像在任何其他页面中一样使用默认布局。这是什么原因?代码中的某处是否指定了默认布局来覆盖我指定的布局?

标签: .netasp.net-coremodel-view-controllerrazor-pages

解决方案


这是一个例子:

~/Pages/Shared/_LayoutAdmin.cshtml

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
    <link href="/css/site.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div>
       <h1>This is Admin layout </h1>
    </div>
    <div>
        @RenderBody()
    </div>
</body>
</html>

~/Pages/Admin/Index

@page
@model IndexModel
@{
    Layout = "_LayoutAdmin";
    ViewData["Title"] = "Admin Home";
}

结果:

在此处输入图像描述


推荐阅读