Asp.net mvc 如何在剃须刀辅助对象中正确渲染辅助对象?

Asp.net mvc 如何在剃须刀辅助对象中正确渲染辅助对象?,asp.net-mvc,asp.net-mvc-4,razor,Asp.net Mvc,Asp.net Mvc 4,Razor,想象一下这个场景 @helper TabTest() { using (Html.BeginPortlet()) { <strong>hello</strong> } } 输出:你好 如果我用另一个助手调用它。。。例如:@Html.RenderBootstrapTabContent(TabTest())那么呈现就不一样了 输出: <div class="portlet"></div> <strong&

想象一下这个场景

@helper TabTest()
{
    using (Html.BeginPortlet())
    {
        <strong>hello</strong>
    }
}
输出:
你好

如果我用另一个助手调用它。。。例如:
@Html.RenderBootstrapTabContent(TabTest())
那么呈现就不一样了

输出:

<div class="portlet"></div>
<strong>hello</strong>
BeginPortlet
方法是定制的,与
BeginForm
非常相似,并使用
IDisposable
接口


我能做些什么来纠正这个奇怪的错误呢?

为了防止我的问题对你没有意义,我找到了另一个人,他做了我试图解释的事情,只是没有以同样的方式打电话给他们

在网上阅读了所有我能找到的东西后,我仍然没有找到答案。似乎没有人尝试过(或者不知道)

我最终解决了这个问题,用与BeginPortlet相同的方法,使用帮助程序和
IDisposable
重写了RenderBotStraptAbContent方法。所以现在不是写作

@Html.RenderBootstrapTabContent(TabTest())
我现在用

using (Html.BeginBootstrapTabContent()) { @TabTest() }
在过去的几天里,我在这上面浪费了很多时间,所以我可以帮助你


如果你有更好的想法,请告诉我。

为了防止我的问题对你没有意义,我找到了另一个人,他做了我试图解释的事情,但没有以同样的方式打电话给他们

在网上阅读了所有我能找到的东西后,我仍然没有找到答案。似乎没有人尝试过(或者不知道)

我最终解决了这个问题,用与BeginPortlet相同的方法,使用帮助程序和
IDisposable
重写了RenderBotStraptAbContent方法。所以现在不是写作

@Html.RenderBootstrapTabContent(TabTest())
我现在用

using (Html.BeginBootstrapTabContent()) { @TabTest() }
在过去的几天里,我在这上面浪费了很多时间,所以我可以帮助你

如果你有更好的主意,请告诉我