Исключение InvalidOperationException: для страницы в «/Views/_ViewImports.cshtml » не вызывалось тело визуализации. Чтобы игнорировать вызов IgnoreBody()

#c# #asp.net-core

Вопрос:

эй, я новичок в программировании с asp.netcore. Я создал приложение для медицинского отделения ** После нажатия на URL-адрес я получил сообщение об ошибке: RenderBody не был вызван для страницы по адресу ‘/Views/_ViewImports.cshtml’. Чтобы игнорировать вызов IgnoreBody(). вот страница :

 <html lang="en">
<head>
   <meta charset="utf-8" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>@ViewData["Title"] - Texte</title>
   <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
   <link rel="stylesheet" href="~/css/site.css" />
</head>
<body>
   <header>
       <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
           <div class="container">
               <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Texte</a>
               <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
                       aria-expanded="false" aria-label="Toggle navigation">
                   <span class="navbar-toggler-icon"></span>
               </button>
               <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
                   <ul class="navbar-nav flex-grow-1">
                       <li class="nav-item">
                           <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
                       </li>
                       <li class="nav-item">
                           <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
                       </li>
                   </ul>
               </div>
           </div>
       </nav>
   </header>
   <div class="container" body-content>
       <main role="main" class="pb-3" >
           @RenderBody()
       </main>
   </div>

   <footer class="border-top footer text-muted">
       <div class="container">
           amp;copy; 2021 - Texte - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
       </div>
   </footer>
   <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>```

       
 So in my view looks like this below :
@model IEnumerable<PermissionManagement.MVC.Models.Brand>

@{
   ViewData["Title"] = "Index";
   Layout = "~/Views/_ViewImports.cshtml";
}

Help would be appreciated

Thanks
 

Комментарии:

1. Ваша страница должна быть страницей макета, связанной с макетом,вы можете увидеть макет в ASP.NET Ядро .

Ответ №1:

Я думаю, что у вас есть ошибка в вашем представлении. _ViewImports содержит только html-помощники. Попробуйте удалить

   Layout = "~/Views/_ViewImports.cshtml";
 

Ваш макет находится в папке «Общий доступ» и называется _Layout.cshtml. Переместите макет туда, если он находится в другой папке.