C# 如何将多行HTML作为参数传递
我需要将HTML作为参数传递给HTML助手方法(例如:Telerik的KendoUIMVC包装器中的ClientTemplate) 基本上,我尝试通过以下步骤:C# 如何将多行HTML作为参数传递,c#,asp.net-mvc,razor,html-helper,C#,Asp.net Mvc,Razor,Html Helper,我需要将HTML作为参数传递给HTML助手方法(例如:Telerik的KendoUIMVC包装器中的ClientTemplate) 基本上,我尝试通过以下步骤: <ul class="list-unstyled"> <li>Foo</li> <li>Bar</li> <li>Baz</li> </ul> 福 酒吧 巴兹 我试过这个: .Template(@<tex
<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()))
.Template(@
- 福
- 酒吧
- 巴兹
.ToString())
我得到这个错误
CS1660无法将lambda表达式转换为类型“string”,因为它不是委托类型
我知道使用“…Foo Bar …
是可能的,但我想知道是否有更好的方法,如剃须刀
多亏了,我有了这个解决方案:
助手方法
public static string RazorTemplateHelper(Func<object, HelperResult> template)
{
return template.Invoke(null).ToString();
}
public静态字符串RazorTemplateHelper(Func模板)
{
返回template.Invoke(null).ToString();
}
剃须刀
.Template(RazorTemplateHelper(@<text>
<ul class="list-unstyled">
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ul>
</text>))
.Template(RazorTemplateHelper)(@
- 福
- 酒吧
- 巴兹
))
“我需要将HTML作为参数传递给HTML助手方法”-为什么?无论如何,为什么不将其作为字符串传递(因此,“…
”
)?因为我希望语法Highlightning和其他Html助手在其中发挥作用@引号在哪里。模板(@“- Foo
- Bar
- Baz