Does anybody know what's the difference between Html.RenderAction and Html.Action?
Asked
Active
Viewed 3.0k times
41
-
1possible duplicate of [Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction](http://stackoverflow.com/questions/5248183/html-partial-vs-html-renderpartial-html-action-vs-html-renderaction) – Bellash Jul 18 '14 at 03:35
2 Answers
37
Html.Action()
– Outputs string
Html.RenderAction()
– Renders directly to response stream
If the action returns a large amount of HTML, then rendering directly to the response stream provides better performance than outputting a string.
-
16
-
3@user76071 from [another question](http://stackoverflow.com/questions/5248183/html-partial-vs-html-renderpartial-html-action-vs-html-renderaction) with Action you can put the result in a variable or return it from a function. – David Kassa Mar 04 '13 at 15:25
-
1Better performance? Barely. This is a bad case of premature optimization. Unless you are outputting a huge wiki article, the differences are negligible. Personally, I find Html.Action more readable and only use Html.RenderAction if I am in a code block. – Jordan Jul 08 '16 at 12:52
-
Below article In answer below, states RenderAction is better when rendering a lot of HTML, (like a partial View.) That's why I like it better. – user1161391 Nov 30 '18 at 21:53
27
The difference between the two is that Html.RenderAction will render the result directly to the Response (which is more efficient if the action returns a large amount of HTML) whereas Html.Action returns a string with the result.
check out this link for a detailed explanation

VoodooChild
- 9,776
- 8
- 66
- 99