Cara menghasilkan HTML dari tampilan parsial tertentu pada mesin tampilan ASP.NET diketahui .
Namun jika fungsi ini digunakan pada tampilan sebagian pisau cukur, fungsi tersebut tidak berfungsi, karena pengecualian mengatakan tampilan sebagian tidak berasal dari "UserControl".
Bagaimana cara memperbaiki rendering untuk mendukung tampilan sebagian pisau cukur?
Saya memerlukan ini karena saya menghasilkan email dari tampilan parsial ini ...
MEMPERBARUI:
Kode yang gagal (@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();
}