如何将多行HTML作为参数传递

时间:2016-01-19 09:32:29

标签: c# asp.net-mvc razor html-helper

我需要将HTML作为参数传递给Html Helper方法(例如:Telerik的Kendo UI MVC Wrapper中的ClientTemplate)。

基本上我试着通过这个:

<ul class="list-unstyled">
    <li>Foo</li>
    <li>Bar</li>
    <li>Baz</li>
</ul>

我试过了:

.Template(@<text>
    <ul class="list-unstyled">
        <li>Foo</li>
        <li>Bar</li>
        <li>Baz</li>
    </ul>
</text>.ToString()))

我收到此错误

CS1660 Cannot convert lambda expression to type 'string' because it is not a delegate type

我知道"...<li>Foo</li><li>Bar</li>..."有可能,但我想知道是否有更好的方法,如剃须刀<text>

1 个答案:

答案 0 :(得分:2)

感谢Ashish Emmanuel's comment,我有这个解决方案:

帮助方法

public static string RazorTemplateHelper(Func<object, HelperResult> template)
{
    return template.Invoke(null).ToString();
}

<强>剃刀

.Template(RazorTemplateHelper(@<text>
    <ul class="list-unstyled">
        <li>Foo</li>
        <li>Bar</li>
        <li>Baz</li>
    </ul>
</text>))