为什么无法识别RenderPage?

时间:2020-06-24 19:21:36

标签: asp.net razor core

这让我感到沮丧-我正在使用最新版本的.NET Core,SDK,Visual Studio 2019, 开始新项目-ASP.net核心Razor页面,我试图添加@RenderPage(“”)失败。 看起来它不是Microsoft.AspNetCore.Mvc.Razor命名空间(dotnet \ packs \ Microsoft.AspNetCore.App.Ref \ 3.1.3 \ ref \ netcoreapp3.1的一部分)中继承RazorPageBase的抽象类RazorPage的一部分。 \ Microsoft.AspNetCore.Mvc.Razor.dll)) 我尝试的所有操作均出现错误消息:“错误CS0103当前上下文中不存在名称'RenderPage'”

我的_Layout页面如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - TestApp</title>
    @*<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />*@
    <link rel="stylesheet" href="~/css/site.css" />
</head>
<body>
    <div>
        @RenderPage("/Shared/_MenubarPage")
    </div>
    <div class="container">

        
        <main role="main" class="pb-3">
            @RenderBody()
        </main>
    </div>

    <script src="~/lib/jquery/dist/jquery.min.js"></script>
    <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>

    @RenderSection("Scripts", required: false)
</body>
</html>

(当然,共享文件夹中有_MenubarPage.cshtml部分页面)

谁能告诉我我在哪里做错了?我应该添加某种外部nuget吗?

2 个答案:

答案 0 :(得分:0)

您可以使用@RenderPage("_MenubarPage.cshtml");

您还可以使用@RenderPage("_MenuPage.cshtml", MyModel),它可以通过将其作为第二个参数添加到视图中,从而提供所需的任何模型。

如果您使用的是局部语言,也可以使用@{Html.RenderPartial("_MenubarPage");}。但不要忘记,您需要使用剃须刀代码块@{}

将其包装起来

答案 1 :(得分:0)

在(asp.net核心3.1)_layout页面中尝试以下代码段。

<partial name="_MenubarPage" />
相关问题