42

Does anybody know what's the difference between Html.RenderAction and Html.Action?

1

2 Answers 2

38

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.

Sign up to request clarification or add additional context in comments.

4 Comments

So when would you use Html.Action if RenderAction gives better performance?
@user76071 from another question with Action you can put the result in a variable or return it from a function.
Better 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.
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.
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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.