asp.net mvc 2 визуализирует представление в строку вместо частичного - PullRequest
0 голосов
/ 01 июля 2010

У меня есть эта функция:

public static string RenderViewToString(string controlName, object viewData) {
    ViewDataDictionary vd = new ViewDataDictionary(viewData);
    ViewPage vp = new ViewPage { ViewData = vd };
    Control control = vp.LoadControl(controlName);

    vp.Controls.Add(control);

    StringBuilder sb = new StringBuilder();
    using (StringWriter sw = new StringWriter(sb))
    {
        using (HtmlTextWriter tw = new HtmlTextWriter(sw))
        {
            vp.RenderControl(tw);
        }
    }

    return sb.ToString();

}

И я называю это так:

string body = StringHelpers.RenderViewToString("~/Areas/Public/Views/Shared/RegistrationEmail.ascx", new RegistrationEmailViewModel { User = user });

И он возвращает HTML-таблицу с пользователем-Информация.

Но мне было интересно, есть ли способ отредактировать это, чтобы я мог вернуть View как строку?чтобы я мог добавить мастер-страницу, чтобы было легче спроектировать все потенциальные письма, отправляемые?

Заранее спасибо / M

1 Ответ

1 голос
/ 01 июля 2010

Проверьте систему шаблонов электронной почты MVCContrib для отправки электронных писем.

http://codevanced.net/post/Sending-HTML-emails-with-ASPNET-MVC2-and-MVCContrib.aspx

Обновление:

Этот вопрос и / или эта статья может помочь, если вы не хотите включать Mvccontrib. Хотя я использую Mvccontrib каждый день, это безвредно.

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