views:

75

answers:

3

I am trying to understand the difference between a RenderPartial and RenderAction. I guess that RenderPartial is like a UserControl and RenderAction is like a server-side include. Can someone put this in perspective please and if possible give me a couple scenarios of where each would be used?

+2  A: 

Below is a good link that helps describe the difference and when to use them.

http://blogs.intesoft.net/post/2009/02/renderaction-versus-renderpartial-aspnet-mvc.aspx

John Hartsock
+4  A: 

Have you seen this blog post?

Summary:

  • RenderPartial: You are responsible for providing a model, performing logic etc.
  • RenderAction: You are responsible for invoking an action, that controller is responsible for providing a model, performing logic etc.

Furthermore, RenderPartial will render a particular View, RenderAction can render any View it want, it's up to the controller. For example: an action that displays a View with login information might return one view when you are a guest (not authenticated), one View when you are authenticated as a regular user, and one View when you are an admin. You, as the caller of RenderAction don't have to care at all, you just call your action

Onkelborg
+2  A: 

RenderPartial specifies a partial view and passes a model to it.

RenderAction specifies a controller and an action, any model data will be gathered by the controller.

This is quite a good explanation

Paul Creasey