在 ASP.NET Core Web 应用程序(版本 6.0)的 _layout.cshtml 文件中显示/隐藏侧边栏菜单

问题描述 投票:0回答:0

我的 _layout.cshtml 文件中有一个用于显示/隐藏侧边栏菜单的文件。我使用 javascript 修改属性以在单击按钮时显示或隐藏侧边栏。一切正常,但并不持久。也就是说,如果页面重新加载或用户使用相同的 _layout.cshtml 转到另一个页面,侧边栏菜单将返回到默认状态(隐藏)。

CSS文件

div.SideNav {
    width: 100px;
    min-width: 100px;
    display: none;
    vertical-align: top;
    background: #4B6C9E;

Javascript

<script>
    function openNav() {
        document.getElementById("SideNavID").style.display == "table-cell") 
    }
    function closeNav() {
        document.getElementById("SideNavID").style.display = "none";
    }
</script>

_layout.cshtml

<button onclick="openNav()">&nbsp;&#9776&nbsp;</button>
<button class="ButtonClose" onclick="closeNav()">&nbsp;&times;&nbsp;</button>

我打算尝试使用会话变量来跟踪并保持一切一致。我尝试了几种方法在 javascript 之外和 C# 中捕获 onclick 事件,但无法弄清楚。在 _layout 中给我带来了问题。我有数千个使用 _layout 的页面,所以我不能在这些页面的代码隐藏中放置任何内容。我也在考虑尝试在 javascript 中设置会话变量。有没有更好的方法来管理或实现侧边栏菜单

.net layout menu core sidenav
© www.soinside.com 2019 - 2024. All rights reserved.