加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在某些视图中隐藏渲染页面Razor

发布时间:2020-12-16 09:17:26 所属栏目:asp.Net 来源:网络整理
导读:在我的mvc应用程序中,我已经制作了一个页脚并像这样嵌入它 div class="off-canvas-wrap" data-offcanvas div class="inner-wrap" @Html.Action("Menu","Site") aside class="main-section" @RenderBody() /aside @RenderPage("~/Views/Shared/DisplayTemplat
在我的mvc应用程序中,我已经制作了一个页脚并像这样嵌入它

<div class="off-canvas-wrap" data-offcanvas>
    <div class="inner-wrap">
         @Html.Action("Menu","Site")
        <aside class="main-section">
            @RenderBody()
        </aside>
        @RenderPage("~/Views/Shared/DisplayTemplates/_footer.cshtml")
    </div>
</div>

这段代码位于我的_layout.cshtml文件中,我在这里要做的是隐藏某个页面上的页脚.甚至可以隐藏特定页面上的页脚?

期待着提出建议.

解决方法

由于您的条件将在正在呈现的页面中而不是布局中,因此您必须保留一些可在页面加载后调用的全局函数.
就像是

window.myfunction =function() {
    if (myConditionInJavaScript) {
        $("#myfooter").hide();
    }
}

并在您的子页面中调用此函数.通过window.myfunction();

您也可以使用Viewbag,但是在渲染或更新时,您需要在每个视图中设置ViewBag的值.

如果您只有一个必须隐藏的部分,根据我的最有效方式将保持两个单独的布局.因为无论您在每个页面加载时选择哪种方式,都会触发条件,这可能会导致性能下降.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读