Как использовать Html.Partial () внутри пользовательского html-помощника в ASP.NET MVC 5? - PullRequest
0 голосов
/ 04 февраля 2019

Я хочу создать пользовательский HTML-помощник, отделенный от страницы, который будет использовать функцию частичного просмотра, но по какой-то причине Html.Partial("_partialName") не работает

Содержимое отдельного файла cshtml в App_Code:

@helper MyHelper(IEnumerable<string> something)
{
    <div>@Html.Partial("_viewName", something)</div>   
}

Как просто использовать Html.Partial как на странице просмотра Razor?

1 Ответ

0 голосов
/ 04 февраля 2019

Вы не можете просто вызвать Html.Partial("_name", model); во вспомогательном методе.Partial - это метод расширения для типа HtmlHelper, а Html - это свойство View (которое наследуется от WebViewPage<TModel>).Вы можете проверить это, перейдя в представление (или частичное представление) и перейдя к определению Html.

Вызов его из помощника не имеет смысла, поэтому у него нет объекта, который предоставляетдоступное свойство Html форма WebViewPage<TModel> тип.На самом деле это экземпляр класса CustomHtml.Попробуйте написать @this. в представлении и помощнике.Вы увидите, как они отличаются.

...