【发布时间】:2010-11-28 09:42:28
【问题描述】:
Razor中如何将一段Html渲染成一个变量? 在 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> 构造可以由用户生成 lambda 表达式,以后可以重用,这相当于将一段 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))
我只是不知道如何编写无参数 lambda (Func<object>)。上面两个 lambda 中的 int 参数是一个虚拟参数。 Razor 似乎需要一个参数(并且已经创建了一个变量“item”来在表达式中表示它)。
【问题讨论】:
标签: asp.net-mvc-3 razor