带MVC3的Html.Partial或Html.RenderPartial?

Rub*_*bin 10 asp.net-mvc asp.net-mvc-3

看到以下解释后,我完全感到困惑.

<div>
  @Html.Partial("_FeaturedProduct")
</div>
Run Code Online (Sandbox Code Playgroud)

部分视图可以在布局页面内呈现(或者如果使用MVC 2/3 w/ASPX,主页面)以及常规视图.

在某些情况下,您可能希望退出并直接写入HTTP响应流,而不是使用部分视图呈现结果(部分/视图使用MvcHtmlString/StringWriter).为此,请使用Html.RenderPartial帮助程序.

<div>
  @Html.RenderPartial("_FeaturedProduct")
</div>
Run Code Online (Sandbox Code Playgroud)

有人能告诉我这是什么意思吗?我可能希望直接写入HTTP响应等的情况.如果我的部分视图只包含这样一行,该怎么办?

<h1>Hello</h1>
Run Code Online (Sandbox Code Playgroud)

我应该使用哪个以及为什么?如果我用另一个会怎么样?

以下让我更加困惑:"使用Html.RenderPartial来传输图像或其他以媒体为中心的元素或者下载速度更快的非常重要的元素."

Lia*_*amB 6

请参阅下面的回复.

唯一的区别是Partial返回一个MvcHtmlString,必须在<%=%>内调用,而RenderPartial返回void并直接渲染到视图.

如果查看源代码,您会看到它们都调用相同的内部方法,并传递StringWriter以进行渲染.

如果要查看,保存或操作生成的HTML而不是将其写入页面,则可以调用Partial.

MVC2中的Html.Partial(视图,模型)和Html.RenderPartial(视图,模型)之间有什么区别(如果有的话)?