这让我感到沮丧-我正在使用最新版本的.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吗?
答案 0 :(得分:0)
您可以使用@RenderPage("_MenubarPage.cshtml");
。
您还可以使用@RenderPage("_MenuPage.cshtml", MyModel)
,它可以通过将其作为第二个参数添加到视图中,从而提供所需的任何模型。
如果您使用的是局部语言,也可以使用@{Html.RenderPartial("_MenubarPage");}
。但不要忘记,您需要使用剃须刀代码块@{}
答案 1 :(得分:0)
在(asp.net核心3.1)_layout页面中尝试以下代码段。
<partial name="_MenubarPage" />