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
  • 57,247
  • 24
  • 95
  • 149
Jacek
  • 11,107
  • 22
  • 62
  • 116

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,248
  • 5
  • 27
  • 46