当前位置 : 主页 > 网络编程 > ASP >

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

来源:互联网 收集:自由互联 发布时间:2021-06-24
在我的mvc应用程序中,我已经制作了一个页脚并像这样嵌入它 div class="off-canvas-wrap" data-offcanvas div class="inner-wrap" @Html.Action("Menu", "Site") aside class="main-section" @RenderBody() /aside @RenderPage("~/Vi
在我的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的值.

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

网友评论