Я пытаюсь отобразить содержимое страницы, поскольку использованный файл был сохранен в части менеджера.
На мой взгляд, у меня есть следующий код:
@foreach (var block in Model.Blocks)
{
if (block is HtmlBlock htmlBlock)
{
<partial name="../Cms/DisplayTemplates/HtmlBlock.cshtml" for="@htmlBlock" />
}
if (block is HtmlColumnBlock columnBlock)
{
<partial name="../Cms/DisplayTemplates/HtmlColumnBlock.cshtml" for="@columnBlock" />
}
if (block is ImageBlock imageBlock)
{
<partial name="../Cms/DisplayTemplates/ImageBlock.cshtml" for="@imageBlock" />
}
if (block is QuoteBlock quoteBlock)
{
<partial name="../Cms/DisplayTemplates/ImageBlock.cshtml" for="@quoteBlock" />
}
if (block is TextBlock textBlock)
{
<partial name="../Cms/DisplayTemplates/TextBlock.cshtml" for="@textBlock" />
}
}
Я почти уверен, что есть более простой способ сделать это, но больше ничего не могу найти.
Итак, если я использую этот подход, когда я создаю новые элементы в менеджере, мне придется продолжать расширять этот foreach?Что-то не так.
Если я использую @Html.DisplayFor(m => m.Blocks)
, отображается только имя пространства имен.Есть мысли?