title: Rendering part of a view from another view
body: <p>I'm moving my WebForms project to MVC and having a hard time designing things.
  The basic display of my app is in _Layout. The page is divided into 4 parts(say Part A,B,C and D), with 3(A,B,C) just containing html and one(D) is dynamic. I had used @RenderBody to bring in the content of Part D. However, now the other parts are changing and I need separate controllers for these parts. What is the best way to get their contents to be displayed into _Layout?</p>
  
  <p>@Html.RenderPartial / @Html.Partial / @Html.RenderAction / @Html.Action ?</p>
  
  <p>I'm currently trying to replace Part C by using - 
  @Html.Action("Index", "CController")</p>
  
  <p>However, this is not working. </p>
  
  <p>In Index.cshtml for CController, I've the Layout = null, initially it was set to point to _Layout.cshtml, but I read <a href="https://stackoverflow.com/questions/4412197/asp-net-mvc-3-html-action-wont-render-return-any-html">here</a> that this created issues. </p>
  
  <p>After putting the C Part in CControllers view, it does not event display the basic _Layout page that it displayed earlier.</p>
  
  <h3>Here's the Index.cshtml of CController -</h3>
  
  <pre><code>&lt;div id="noteContainerDiv"&gt;
      Here goes all the data to display
  &lt;/div&gt;
  </code></pre>
  
  <h3>And Here's the code for CController.cs -</h3>
  
  <pre><code>public class CController : Controller
  {        
      public ActionResult Index()
      {
          return PartialView();
      }
  
  }
  </code></pre>
  
  <p>Can anyone suggest the right way to design this?</p>