2

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

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

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

@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)

方法的实际实现无关紧要,因为这适用于方法的调用方式,而不是实现对输入的作用。

4

2 回答 2

3

查看它的简单方法是 Razor 视图引擎将这些 div 标签中的每一个视为单个属性。

将它们包装在文本标签中应该可以解决问题:

@Html.SiteText(@<text><div>Some content</div><div>Some more content</div></text>)
于 2013-06-13T14:54:27.237 回答
2

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

@Html.SiteText(@<text>
    <div>Some content</div>
    <div>Some more content</div>
</text>)
于 2013-06-13T14:55:06.487 回答