Как отобразить часть 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))
Я просто не могу понять, как писать без параметров lambdas (Func<object>
). параметр int
в обоих lambdas выше - это фиктивный. Кажется, что Razor требует один параметр (и уже создает переменную "item", чтобы обозначить ее внутри выражения).