Я делаю простой сайт с начальной загрузкой и .net core mvc (v3.0). Поскольку на большинстве страниц повторно используется контейнер начальной загрузки, я решил поместить его в файл макета, чтобы не повторять одну и ту же настройку повсеместно.
Недостатком является то, что если представлению требуются фиксированные элементыте, которые в конечном итоге фиксируются в контейнере, а не в окне просмотра.
Мне интересно, можно ли вызвать какой-то синтаксис внутри файла view.cshtml, который может привести к отображению раздела в файле _Layout.cshtml (извините, если на этот вопрос ответили, но я нене уверен, что искать).
Например,
_Layout.cshtml
@using Microsoft.Extensions.Hosting
@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment _environment
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"]</title>
</head>
<body>
@* this div only gets rendered based on logic inside the view*@
<div id="conditionalViewDiv">
</div>
<div class="content container-fluid pl-0 pr-0 moveable" id="containerMain">
<main role="main">
@RenderBody()
</main>
</div>
@RenderSection("Scripts", required: false)
</body>
</html>
, а затем в SomeView.cshtml
@{
ViewData["Title"] = "title";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@MadeUpRenderCommand("conditionalViewDiv")
@*other view stuff*@
Спасибо за любую помощь.