Comment générer un HTML d'une vue partielle donnée sur le moteur de vue ASP.NET est connu .
Mais si cette fonctionnalité est utilisée sur une vue partielle de rasoir, elle ne fonctionne pas, car l'exception indique que la vue partielle ne dérive pas de "UserControl".
Comment réparer le rendu pour prendre en charge la vue partielle du rasoir?
J'en ai besoin car je génère des e-mails à partir de ces vues partielles ...
METTRE À JOUR:
Code qui échoue (@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();
}