Click here to Skip to main content
15,891,976 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
What is Difference between Html.Partial and Html.RenderPartial in MVC?
Posted

1 solution

- Html.Partial returns a string, Html.RenderPartial returns void.
- We can store the output of Html.Partial in a variable/able to return from function.
- In Html.RenderPartial, we can’t result void.(ie.,directly writing to the output stream so it was bit faster than html.partial())

Html.RenderPartial
1. This method result will be directly written to the HTTP response stream means it used the same TextWriter object as used in the current webpage/template.
2. This method returns void.
3. Simple to use and no need to create any action.
4. RenderPartial method is useful when the displaying data in the partial view is already in the corresponding view model.For example : In a blog to show comments of an article, we would like to use RenderPartial method since an article information with comments are already populated in the view model.
@{Html.RenderPartial("_Comments");}
5. This method is faster than Partial method since its result is directly written to the response stream which makes it fast.

Html.Partial
1. Renders the partial view as an HTML-encoded string.
2. This method result can be stored in a variable, since it returns string type value.
3. Simple to use and no need to create any action.
4. Like RenderPartial method, Partial method is also useful when the displaying data in the partial view is already in the corresponding view model. For example: In a blog to show comments of an article, you can use Partial method since an article information with comments are already populated in the view model.
@Html.Partial("_Comments")

Refer this-
RenderPartial vs RenderAction vs Partial vs Action in MVC Razor[^]


-KR
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900