Представьте себе такой сценарий ...Как правильно отдать помощника в помощнике Razor?
@helper TabTest()
{
using (Html.BeginPortlet())
{
<strong>hello</strong>
}
}
Если я называю его в файле Razor то делает хорошо.
@TabTest()
Выход: <div class="portlet"><strong>hello</strong></div>
Если я называю это с помощью другого помощника ... например: @Html.RenderBootstrapTabContent(TabTest())
то рендеринг не то же самое.
Выход:
<div class="portlet"></div>
<strong>hello</strong>
Это просто грубый пример, и я удалил избыточный код для упрощения. Я предполагаю, что это связано с тем, как конвейер написан, но я не вижу возможности его исправить.
Я читал информацию о viewcontexts и текстовых редакторах, но не знаю, как они будут применяться здесь.
Помощник:
public static MvcHtmlString RenderBootstrapTabContent(this HtmlHelper helper, HelperResult content)
{
return content.ToHtmlString();
}
Метод BeginPortlet
является обычай и очень похож на BeginForm
и использует интерфейс IDisposable
.
Что я могу сделать, чтобы исправить эту странную ошибку?