Static Method to render string
public static string RenderPartialToString(string partialFile, object viewData) { ViewDataDictionary vd = new ViewDataDictionary(viewData); ViewPage vp = new ViewPage { ViewData = vd }; Control control = vp.LoadControl(partialFile); vp.Controls.Add(control); StringBuilder sb = new StringBuilder(); using (StringWriter sw = new StringWriter(sb)) { using (HtmlTextWriter tw = new HtmlTextWriter(sw)) { vp.RenderControl(tw); } } return sb.ToString(); }
// Controller Method
public string GetHtmlFromPartial() { var viewData = new SomeViewData { Note = n }; string s = RenderPartialToString("~/Views/Error.ascx", viewData); return s; }