У меня есть эта функция:
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