É conhecido como gerar um HTML de uma determinada exibição parcial no mecanismo de exibição ASP.NET .
Mas se essa funcionalidade for usada na visualização parcial do razor, ela não funcionará, pois a exceção diz que a visualização parcial não deriva de "UserControl".
Como consertar a renderização para oferecer suporte à visão parcial de navalha?
Eu preciso disso porque eu gero e-mails a partir dessas visualizações parciais ...
ATUALIZAR:
Código que falha (@mcl):
public string RenderPartialToString(string controlName, object viewData)
{
ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() };
viewPage.Url = this.GetUrlHelper();
string fullControlName = "~/Views/Email/" + controlName + ".ascx";
viewPage.ViewData = new ViewDataDictionary(viewData);
viewPage.Controls.Add(viewPage.LoadControl(fullControlName));
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
viewPage.RenderControl(tw);
}
}
return sb.ToString();
}