È noto come generare un HTML di una data vista parziale sul motore di visualizzazione ASP.NET .
Ma se questa funzionalità viene utilizzata su una vista parziale razor non funziona, poiché l'eccezione dice che la vista parziale non deriva da "UserControl".
Come correggere il rendering per supportare la visualizzazione parziale del rasoio?
Ne ho bisogno perché generi email da queste visualizzazioni parziali ...
AGGIORNARE:
Codice che fallisce (@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();
}