剃刀 - 带有多个标签的内联助手

时间:2013-06-13 13:27:17

标签: asp.net-mvc razor helpers

我可以调用一个接受HTML / Razor块作为参数的方法,如下所示:

@Html.SiteText(@<div>Some content</div>)

由于解析器错误,使用多个顶级标记调用相同的方法失败。即。

@Html.SiteText(@<div>Some content</div><div>Some more content</div>)

失败了: Compiler Error Message: CS1026: ) expected

有没有办法传递一个有多个顶级标签的Razor助手?

编辑:

这是SiteText扩展方法的签名:

public static IHtmlString SiteText(this HtmlHelper htmlHelper, Func<object, HelperResult> content)

该方法的实际实现无关紧要,因为这适用于如何调用方法而不是实现对输入的处理。

2 个答案:

答案 0 :(得分:3)

看待它的简单方法是Razor视图引擎将每个div标签视为单个属性。

将它们包装在文本标记中可解决此问题:

@Html.SiteText(@<text><div>Some content</div><div>Some more content</div></text>)

答案 1 :(得分:2)

未经测试,但我怀疑这会解决它:

@Html.SiteText(@<text>
    <div>Some content</div>
    <div>Some more content</div>
</text>)