Reputation: 12053
I want to get in action HTML code which is rendered by PartialView. For example
var partView = PartialView("myView", myModel);
string content =??;
What should I put instead of question marks?
Upvotes: 0
Views: 391
Reputation: 4443
public static string RenderPartialToString(string controlName, object viewData)
{
ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() };
viewPage.ViewData = new ViewDataDictionary(viewData);
viewPage.Controls.Add(viewPage.LoadControl(controlName));
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
viewPage.RenderControl(tw);
}
}
return sb.ToString();
}
string content = RenderPartialToString("myView", myModel);
Upvotes: 1