 <p>I have adapted the solution from <a href="http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/" rel="nofollow">http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/</a> to your case.</p> <p>Change your code from project B to this:</p> <pre><code>public ActionResult Index() { var form = pa.Index(); // &lt;-- This is the controller from controller A using (var sw = new StringWriter()) { // Find the actual partial view. var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, form.ViewName); // Build a view context. var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw); // Render the view. viewResult.View.Render(viewContext, sw); // Get the string rendered. ViewBag.CMSForm = sw.GetStringBuilder().ToString(); } return View(); } </code></pre>