Я пытаюсь часами рендерить представление из другого контроллера в строку.Я использую это для создания шаблонов электронной почты.Для этого я создал контроллер с именем EmailController, у которого есть представление ConfirmationEmail.cshtml. Я хочу отобразить это представление в действии Home.Index, например.Причиной этого является организация, потому что я хочу, чтобы представления электронной почты находились в ~ / View / Email / ..., а EmailController будет использоваться только для их рендеринга.Также ~ / View / Shared / Email / ... будет в порядке, если у вас есть другое предложение.
Вы предлагаете другой подход?
Я видел эту тему ASP.NET MVCRazor: Как отобразить HTML Razor Partial View внутри действия контроллера , но я не могу заставить его работать.
Мне нужно что-то вроде:
public ActionResult Index()
{
EmailController emailController = new EmailController();
ControllerContext context = new ControllerContext(this.ControllerContext.RequestContext, emailController);
EmailController.RenderPartialViewToString(emailController, "ConfirmationEmail", new EmailModel());
}
Это не работает :(и объект viewResult в методе RenderPartialViewToString имеет значение null. У вас есть решение для этого?