[英]How do I pass multiline HTML as parameter
I need to pass HTML as Parameter to a Html Helper Method (eg: ClientTemplate in Telerik's Kendo UI MVC Wrapper). 我需要将HTML作为参数传递给Html Helper方法(例如:Telerik的Kendo UI MVC包装器中的ClientTemplate)。
Basicly I try to pass this: 基本上我尝试通过:
<ul class="list-unstyled">
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
I tried this: 我尝试了这个:
.Template(@<text>
<ul class="list-unstyled">
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
</text>.ToString()))
I get this error 我得到这个错误
CS1660 Cannot convert lambda expression to type 'string' because it is not a delegate type
I know it is possible with "...<li>Foo</li><li>Bar</li>..."
but I am wondering if there is a better method like razors <text>
我知道
"...<li>Foo</li><li>Bar</li>..."
是可能的,但我想知道是否有像剃刀这样的更好的方法<text>
Thanks to Ashish Emmanuel's comment , I have this solution: 感谢Ashish Emmanuel的评论 ,我有了以下解决方案:
Helper Method 辅助方法
public static string RazorTemplateHelper(Func<object, HelperResult> template)
{
return template.Invoke(null).ToString();
}
Razor 剃刀
.Template(RazorTemplateHelper(@<text>
<ul class="list-unstyled">
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
</text>))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.