如何将多行 HTML 作为参数传递
How do I pass multiline HTML as parameter
我需要将 HTML 作为参数传递给 Html 辅助方法(例如:Telerik 的 Kendo UI MVC 包装器中的 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>
感谢,我有了这个解决方案:
辅助方法
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>))
我需要将 HTML 作为参数传递给 Html 辅助方法(例如:Telerik 的 Kendo UI MVC 包装器中的 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>
感谢
辅助方法
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>))