0

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?

tereško
  • 58,060
  • 25
  • 98
  • 150
Jacek
  • 11,661
  • 23
  • 69
  • 123

1 Answers1

1
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);
vborutenko
  • 4,323
  • 5
  • 28
  • 48