Как отрисовать кусок Html в переменную в Razor?
В Spark я писал следующий код:
<content var="t">
<a class="tab" href="">Tab name</a>
</content>
<content var="tc">
<div class="tabcontent">
<p>Here goes tab content</p>
</div>
</content>
!{tabs(t, tc)}
две переменные передаются макросу, который делает все удобное для переноса содержимого на вкладку.
Какой лучший способ сделать то же самое в Razor?
Обновление: Мне кажется, я понял ..
В Razor конструкция @<text>...</text>
может использоваться пользователем для создания лямбда-выражений, которые можно использовать позже, что является расширенным эквивалентом присвоения части HTML переменной. Приведенный выше пример может быть реализован следующим образом:
Func<int, object> t =
@<text>
<a class="tab" href="">Tab name</a>
</text>;
Func<int, object> tc =
@<text>
<div class="tabcontent">
<p>Here goes tab content</p>
</div>
</text>;
@tabs(t(0), tc(0))
Я просто не могу понять, как писать лямбды без параметров (Func<object>
). параметр int
в обеих лямбдах выше является фиктивным. Кажется, что Razor требуется один параметр (и он уже создает переменную «item» для обозначения его в выражении).