【问题标题】:How do I get the RenderBody() output in two separate div tags如何在两个单独的 div 标签中获取 RenderBody() 输出
【发布时间】:2017-11-09 18:07:55
【问题描述】:

我的 _Layout 视图设计中有两个<div> 标签,一个用于移动视图,另一个用于桌面视图。该设计是由其他人完成的,在移动设备和桌面上查看时会加载适当的视图。我无法更改设计,但我需要在飞蛾部门获得 RenderBody(),例如

<div id="main">
  <div id="mobileView">
    @RenderBody()
  </div>
  <div id="desktopView">
    @RenderBody()
  </div>
</div>

但是这是不允许的,我们不能调用 RenderBody() 两次。是否有任何解决方法可以实现这一目标?

感谢您的任何想法:)

编辑: 以下是视图的变化方式-

#mobileView{display:none}
@media screen and (max-width:767px){
#desktopView{display:none}
#mobileView{display:block}

【问题讨论】:

    标签: html asp.net-mvc razor view


    【解决方案1】:

    我不认为这是在一个布局中呈现多个@RenderBody() 的好方法。在这种情况下,解决方法是您应该制作 2 个布局 _LayoutMobile_LayoutDesktop 。 a在运行时应该替换布局。即

    @{
    Layout =mobileView? "~/Views/Shared/_LayoutMobile.cshtml":"~/Views/Shared/_LayoutDesktop.cshtml";
    }
    

    【讨论】:

    • 其实模式随着浏览器大小的变化而动态变化。它是自动发生的,可能是某个地方写的一些脚本。那么,我该如何设置布局呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多