ASP.NET görünüm motorunda belirli bir kısmi görünümün HTML'sinin nasıl oluşturulacağı bilinmektedir .
Ancak bu işlevsellik tıraş bıçağı kısmi görünümünde kullanılırsa çalışmaz çünkü istisna, kısmi görünümün "UserControl" den türetilmediğini belirtir.
Jilet kısmi görünümünü desteklemek için işleme nasıl düzeltilir?
Buna ihtiyacım var çünkü bu kısmi görünümlerden e-postalar oluşturuyorum ...
GÜNCELLEME:
Başarısız olan kod (@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();
}