В моем. NET Core проекте есть часть сложной HTML, которая дублируется в нескольких местах. Поэтому я решил использовать частичное представление для его отображения. Однако он также использует модель и инкапсулирует код HTML, появляющийся на странице внутри него.
Как я могу поместить этот HTML внутри партиала, просто не копируя, вставляя код виджета повсюду?
Страница:
@{
var widget1 = new Widget() { Title = "First" };
var widget2 = new Widget() { Title = "Second" };
}
<partial name="_Widget" model="widget1"/>
<p>Hello, this is some HTML code that I want to be placed in the _Widget partial above.</p>
<partial name="_Widget" model="widget2"/>
<p>This is another widget with content.</p>
Частичный виджет:
//_Widget.cshtml
@model Widget
@{
var widget = Model ?? new Widget();
}
<div class="panel">
<h2>@widget.Title</h2>
<div>
//How to render content here?
</div>
</div>
Ожидаемый результат:
<div class="panel">
<h2>First</h2>
<div>
<p>Hello, this is some HTML code that I want to be placed in the _Widget partial above.</p>
</div>
</div>
<div class="panel">
<h2>Second</h2>
<div>
<p>This is another widget with content.</p>
</div>
</div>