C# – Render Partial View from other controller

asp.net-mvcasp.net-mvc-3cpartial-viewsrazor

Is there a way to render inside my view of controller A a partial view from other controller B?

Edit: I wrote a partial view that is good for only two controllers and I don't want to copy it to their both Views folder.
I want The partial view to be displayed each time the View is rendered not after something happens.

Best Answer

  1. You can share views between controllers by putting them into the Views/Shared folder. Each controller can then render that view by name.
  2. You can render a partial view (which can be shared between controllers as in (1)) within the current view using Html.Partial().
  3. You can use Html.Action() to invoke an action on a different controller and render the results within the current view.
  4. You can use AJAX to load a partial view from a different controller after the page has been rendered.