【问题标题】:MVC 3 Html.RenderPartial vs Html.PartialMVC 3 Html.RenderPartial 与 Html.Partial
【发布时间】:2012-03-08 19:43:01
【问题描述】:

This article 状态

在某些情况下,您可能想靠边写 直接到 HTTP 响应流而不是部分视图 渲染结果(部分/视图使用 MvcHtmlString/StringWriter)

使用 Html.RenderPartial 流式传输图像或其他元素 以媒体为中心或更快的下载时间非常重要。

MvcHtmlString/StringWriter 引入了哪些开销?如果开销较少,一直使用Html.RenderPartial 是否有缺点?

我在 MSDN 上找不到答案:

http://msdn.microsoft.com/en-us/library/ee402902.aspx

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.renderpartialextensions.renderpartial.aspx

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      缺点是您必须编写可读性较差的代码。 用 Html.Render 你写(1):

      @Html.Partial("ViewName", modelObj)
      

      使用 Html.RenderPartial 你必须编写

      @{ Html.RenderPartial("ViewName", modelObj); }
      

      或 (2)

      Html.RenderPartial("ViewName", modelObj);
      

      取决于语法上下文(您将在 if 或 foreach 等语法块下使用语法 2,而语法 1. 这将影响您为 HtmlHelper 类编写扩展方法的方式,以及您将使用它们的方式。

      【讨论】:

        【解决方案3】:

        RenderPartial 唯一的“缺点”是在渲染之前您没有机会操作结果。因此,如果您想检查输出,您可以使用 Html.Partial 并存储结果等。老实说,我想不出这样做的充分理由,但这并不意味着没有。

        因此,除非您需要访问该“接缝”,否则调用 RenderPartial 没有任何不利之处。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-12
          • 1970-01-01
          • 1970-01-01
          • 2012-07-30
          • 1970-01-01
          • 2015-10-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多