想象一下这个场景......如何在剃刀助手内正确渲染助手?
@helper TabTest()
{
using (Html.BeginPortlet())
{
<strong>hello</strong>
}
}
如果我把它在剃刀文件,那么它呈现的罚款。
@TabTest()
输出:<div class="portlet"><strong>hello</strong></div>
如果我把它用另一个帮手......例如:@Html.RenderBootstrapTabContent(TabTest())
然后渲染是不一样的。
输出:
<div class="portlet"></div>
<strong>hello</strong>
这仅仅是一个例子粗和我已经删除了冗余码,以简化。我认为这与管道的编写方式有关,但我无法解决它。
我读过关于viewcontexts和textwriters的东西,但不知道它们在这里如何应用。
助手:
public static MvcHtmlString RenderBootstrapTabContent(this HtmlHelper helper, HelperResult content)
{
return content.ToHtmlString();
}
的BeginPortlet
方法是定制的,非常类似于BeginForm
并使用IDisposable
接口。
我该怎么办才能解决这个奇怪的错误?