【问题标题】:Html.RenderPartial() syntax with Razor带有 Razor 的 Html.RenderPartial() 语法
【发布时间】:2011-10-22 06:56:45
【问题描述】:

这行得通,因为它以字符串形式返回部分视图渲染的结果:

@Html.Partial("Path/to/my/partial/view")

但我更喜欢使用RenderPartial,看来我需要写:

@{Html.RenderPartial("Path/to/my/partial/view");}

代替:

@Html.RenderPartial("Path/to/my/partial/view");

让它工作。错误信息:

 Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments

如果有更好的方法而不是只为一个方法调用打开代码块@{...}

【问题讨论】:

  • 您尝试使用@Html.RenderPartial()时遇到的错误是什么
  • 我已经在我的帖子中添加了消息。我理解为什么它显示错误 @Html.RenderPartial() 被解析为大致为 这是错误的而不是 Html.RenderPartial(); ?>,但我正在寻找解决方法。
  • 相关:Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction。 BTW 为什么你更喜欢使用RenderPartial

标签: asp.net-mvc asp.net-mvc-3 razor


【解决方案1】:
  • RenderPartial() 是一个写入响应流的 void 方法。 C# 中的 void 方法需要 ;,因此必须用 { } 括起来。

  • Partial() 是一个返回 MvcHtmlString 的方法。在 Razor 中,您可以调用返回此类字符串的属性或方法,该字符串仅带有 @ 前缀,以将其与页面上的纯 HTML 区分开来。

【讨论】:

  • 为什么你更喜欢使用 Html.RenderPartial 而不是 Html.Partial?如果您出于某种原因想要/需要使用 Html.RenderPartial,则没有解决方法 - 这就是语法。
  • 我使用它是因为它应该更有效(因为它不会返回巨大的字符串)。
【解决方案2】:

如果给你这种格式,它就像一个链接到另一个页面或另一个链接。部分视图主要用于将 html 文件从一个地方复制到另一个地方。

【讨论】:

    【解决方案3】:
    @Html.Partial("NameOfPartialView")
    

    【讨论】:

    • 我想使用Html.RenderPartial(),这就是我问这个问题的原因。细节:“在性能方面,据称直接渲染到输出流更好(这就是为什么他们开始使用 void RenderPartial)。”从这里stackoverflow.com/a/2729851/118810
    【解决方案4】:

    Html.RenderPartial() 是一个 void 方法 - 您可以通过将鼠标悬停在代码中对 RenderPartial 的调用上来检查方法是否为 void 方法,您将看到文本 (extension) void HtmlHelper。渲染部分...

    Void 方法在调用代码的末尾需要一个分号。

    在 Webforms 视图引擎中,您可以将 Html.RenderPartial() 调用封装在蜜蜂蜇伤中

    像这样

    <% Html.RenderPartial("Path/to/my/partial/view"); %>
    

    当您使用 Razor 视图引擎时,等效的是

    @{Html.RenderPartial("Path/to/my/partial/view");}
    

    【讨论】:

    • “蜜蜂蜇”——这是第一次(对我来说?)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    相关资源
    最近更新 更多