如何将一段Html渲染成Razor中的变量? 火花我以前写下面的代码:剃刀 - 如何将内容渲染到变量中
<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)}
两个变量获取传递到执行内容进入标签纸的所有漂亮包装的宏。
在剃刀上做同样的事情最好的方法是什么?
更新:我想我它..
在剃刀中,@<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”来表示它)。
感谢,我想我真正需要的是一个内联帮手语法。我不知道这在剃刀中是否可用。解决方案将是声明一个显式的帮助器,可以调用该帮助器,并将结果分配给一个变量。 – Andy 2010-12-29 18:04:13
我在上面的评论中错了。语法可用,不需要显式帮助器。可以使用Lambda表达式来代替。看到我更新的问题。 – Andy 2010-12-30 15:31:41