Рендеринг представления MVC в коде

#asp.net-mvc

#asp.net-mvc

Вопрос:

Я пытаюсь отобразить строго типизированную страницу просмотра в коде и получить результирующий HTML-вывод. Вот код, который я использую:

 public static string RenderPartialToString(ViewPage vp) {
    StringBuilder sb = new StringBuilder();
    using (StringWriter sw = new StringWriter(sb)) {
        using (HtmlTextWriter tw = new HtmlTextWriter(sw)) {
            ViewContext vc = new ViewContext();
            vc.ViewData = vp.ViewData;
            vp.RenderView(vc);
        }
    }
    vp.Dispose();
    vp = null;

    string s = sb.ToString();
    sb = null;

    return s;
}
  

Прямо сейчас я получаю ошибку MethodNotImplemented в строке vp.RenderView(). Невозможно ли отобразить страницы просмотра MVC в это время (MVC 3)?

Ответ №1:

Я хотел бы взглянуть на то, как они делают это в приложении MvcMailer, которое отображает представления MVC в электронные письма:

https://github.com/smsohan/MvcMailer

http://www.codeproject.com/KB/aspnet/MvcMailerNuGet.aspx

Надеюсь, это поможет.