In ASP.NET MVC, what is the difference between:
Html.Partial
and Html.RenderPartial
Html.Action
and Html.
Differences:
The return type of RenderPartial
is void
, where as Partial
returns MvcHtmlString
Syntax for invoking Partial()
and RenderPartial()
methods in Razor views
@Html.Partial("PartialViewName")
@{ Html.RenderPartial("PartialViewName"); }
Syntax for invoking Partial()
and RenderPartial()
methods in webform views
[%: Html.Partial("PartialViewName") %]
[% Html.RenderPartial("PartialViewName"); %]
The following are the 2 common interview questions related to Partial()
and RenderPartial()
When would you use Partial()
over RenderPartial()
and vice versa?
The main difference is that RenderPartial()
returns void and the output will be written directly to the output stream, where as the Partial()
method returns MvcHtmlString
, which can be assigned to a variable and manipulate it if required. So, when there is a need to assign the output to a variable for manipulating it, then use Partial(), else use RenderPartial().
Which one is better for performance?
From a performance perspective, rendering directly to the output stream is better. RenderPartial()
does exactly the same thing and is better for performance over Partial()
.