在某些情况下,您可能希望退一步并撰写 直接到HTTP Response流而不是部分视图 渲染结果(partials / views使用MvcHtmlString / StringWriter)
使用Html.RenderPartial来传输图像或其他元素 以媒体为中心或下载速度更快的非常重要。
MvcHtmlString/StringWriter
引入了什么开销?如果开销较少,那么在所有时间使用Html.RenderPartial
都有缺点吗?
我在MSDN上找不到答案:
答案 0 :(得分:5)
Html.RenderPartial比Html.Partial快,因为RenderPartial可以快速响应输出。
这里有一些参考: -
http://devlicio.us/blogs/derik_whittaker/archive/2008/11/24/renderpartial-vs-renderaction.aspx
答案 1 :(得分:3)
缺点是你必须编写不太可读的代码。 用Html.Render你写(1):
@Html.Partial("ViewName", modelObj)
使用Html.RenderPartial时你必须写
@{ Html.RenderPartial("ViewName", modelObj); }
或(2)
Html.RenderPartial("ViewName", modelObj);
取决于语法上下文(语法2将在if或foreach等语法块下使用,而语法1。 这将影响您为HtmlHelper类编写扩展方法的方式,并且您将使用它们。
答案 2 :(得分:1)
RenderPartial的唯一“缺点”是你没有机会在渲染之前操纵结果。因此,如果你想检查输出你可以使用Html.Partial并存储结果等。说实话,我想不出一个很好的理由这样做,但并不意味着没有。
因此,除非你需要访问那个“接缝”,否则调用RenderPartial没有任何缺点。