Перехват представления рендеринга для добавления Html-помощника в словарь ViewData - PullRequest
0 голосов
/ 11 ноября 2011

Мне нужен Html-помощник из представления для доступа внутри шаблона, поэтому я могу сделать это внутри представления:

ViewData["RootHtmlHelper"]=Html;

Внутри шаблона этот html помощник может быть перехвачен.

Но как это сделать, не меняя ничего в исходном коде представления, в котором нет строки "ViewData["RootHtmlHelper"]=Html;"? Есть ли способ сделать это с помощью IViewEngine? Во время жизненного цикла просмотра, когда Html-помощник начинает «жить»?

Спасибо.

1 Ответ

1 голос
/ 21 ноября 2011

Я пробовал много вещей, таких как частичные представления, RazorEngine, ... и перенос на EditorForModel().

В своем собственном EditorForModel() я завернул вызов к исходному EditorForModel() и, прежде чем его вызвать, я установил в ViewData ссылку на Html helper. В моем шаблоне я могу восстановить Html helper из ViewData, и все работало хорошо, без использования заглушек во всех моих представлениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...