Визуализировать представление электронной почты в Asp.Net MVC 2 в фоновой службе

Мне нужно отобразить представление для отправки по электронной почте с помощью Asp.Net MVC 2.

Используя новый метод Html.Partial, легко отобразить представление в строке, а затем отправить его по электронной почте, если вы делаете это изнутри контроллера или представления (где вы можете получить доступ к помощнику html или контексту контроллера)

Мне нужно отправить электронное письмо с задержкой, используя фоновую службу. Я хочу отобразить их так же, как в контроллере, но у меня нет доступа к Html Helper или контексту контроллера.

Я попытался создать свой собственный метод, используя класс ViewPage и вызывая его метод рендеринга myslef, передавая его в строковый редактор. Проблема в том, что у меня нет контекста представления для помощника html, поэтому я могу отображать только представления, которые не используют помощник html или помощник url.

Любые идеи.

Спасибо


person Sruly    schedule 03.02.2010    source источник


Ответы (2)


У MVCContrib есть кое-что, что может вам помочь

http://github.com/mvccontrib/MvcContrib/blob/master/src/MVCContrib/Services/EmailTemplateService.cs

person John Farrell    schedule 03.02.2010

person    schedule
comment
Проблема не в получении контекста http. Мне нужен контекст контроллера, чтобы создать вспомогательный объект html или попытаться отрендерить ViewPage самостоятельно - person Sruly; 03.02.2010
comment
Контекст контроллера не поможет вам создать экземпляр HtmlHelper, поскольку для этого требуется ViewContext, которого нет в контроллере. Вы можете использовать средство рендеринга блоков из MvcContrib (brightmix.com/blog/). - person Darin Dimitrov; 03.02.2010
comment
Если у меня есть контекст контроллера, я могу создать контекст представления. Я делал это раньше - person Sruly; 04.02.2010