ASP.NET MVC: как вызвать пользовательский Html Helper из метода контроллера? - PullRequest
2 голосов
/ 30 декабря 2010

Я пытаюсь написать метод контроллера, который возвращает ActionResult.

В этом методе я хотел бы: 1. вызвать вспомогательный метод HTML 2. захватить и сохранить обработанный HTML-код HTML-помощника встрока 3. Вернуть метод с отображенным HTML, завернутым в JSON

Как мне вызвать метод Html Helper из моего метода контроллера?Простое использование статического класса HtmlHelper не работает.

1 Ответ

4 голосов
/ 30 декабря 2010
var helper = new HtmlHelper<TModel>(new ViewContext(), new ViewPage());

Или, если это не сработает, вы можете попробовать это.

Stream filter = Stream.Null;
StreamWriter writer = new StreamWriter(filter);
var viewContext = new ViewContext(this.ControllerContext, 
    new WebFormView("MyView"), 
    new ViewDataDictionary(this.ViewData), 
    new TempDataDictionary(), writer);
var helper = new HtmlHelper<TModel>(viewContext, new ViewPage());

Просто замените TModel типом вашей модели.

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