【问题标题】:MVC3 renderbody issueMVC3 渲染体问题
【发布时间】:2011-03-10 14:59:46
【问题描述】:

我在 MVC3 中使用 RenderBody 进行了一些剃刀测试。

这是我的看法:

@model List<IAdviceContent>
@{
    Layout = "~/Views/Shared/Site.cshtml";
}
<div>
@{
    foreach (IAdviceContent item in @Model)
    {
       <p>hello</p>
    }
}
</div>

在我的母版页中:

<div id="Container">
   <div id="Header"></div>
   <div class="VerticalBlankSeparator"></div>
   <div id="Content">
   @{
       RenderBody();
    }
   </div>
</div>

我遇到的问题是,视图渲染时没有打印“hello”,但 foreach 执行了 5 次。

你知道,我在主人或视图中缺少什么吗?

【问题讨论】:

  • HTML 输出是什么?
  • 这是 HTML 输出
    谢谢。问候。何塞马。
  • :所以 MasterPage->RenderBody() 什么都不返回? (否则我们会从您的视图中看到
    标记。)
  • 您的视图名称是什么?您是否浏览到正确的视图?似乎根本没有调用视图。 (根据 HTML 输出)
  • 如果你使用@RenderBody()而不是@{ RenderBody(); }会有什么不同吗?

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


【解决方案1】:

不应像您正在调用它那样调用 Renderbody,因为它不会向流输出任何内容。将其更改为简单的@RenderBody(),它应该可以正常工作。

【讨论】:

    【解决方案2】:

    尝试将@RenderBody(); 用作@RenderBody()。然后它会正常工作。

    【讨论】:

      【解决方案3】:

      使用@RenderBody() 代替:

      @{
             RenderBody();
          }
      

      它会正常工作

      【讨论】:

        猜你喜欢
        • 2012-08-31
        • 1970-01-01
        • 2012-11-08
        • 1970-01-01
        • 1970-01-01
        • 2015-09-12
        • 2015-05-12
        • 1970-01-01
        • 2018-04-20
        相关资源
        最近更新 更多