Html.Partial returns a string on the other hand Html.RenderPartial returns void.
Html.RenderPartial
This method returns void and the result is directly written to the HTTP response stream. That means it uses the same TextWriter object used in the current webpage/template. For this reason, this method is faster than Partial method.This method is useful when the displaying data in the partial view is already in the corresponding view model.
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");}
Html.Partial
This method returns an HTML-encoded string. This can be stored in a variable. Like RenderPartial method, Partial method is also useful when the displaying data in the partial view is already in the corresponding view model.
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")