Cách tạo HTML của một chế độ xem từng phần đã cho trên công cụ xem ASP.NET đã được biết đến .
Nhưng nếu chức năng này được sử dụng trên chế độ xem một phần dao cạo thì nó không hoạt động, vì ngoại lệ cho biết chế độ xem một phần không bắt nguồn từ "UserControl".
Làm thế nào để sửa lỗi kết xuất để hỗ trợ chế độ xem một phần dao cạo?
Tôi cần cái này vì tôi tạo các email tạo thành dạng xem một phần này ...
CẬP NHẬT:
Mã không thành công (@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();
}