如何在 C# Web 窗体应用程序中隐藏 Post 上的侧边导航栏?

How to Keep Side Navigation Bar Hidden on Post Back in C# web forms application?

我有一个 C# webforms 应用程序,它带有默认显示的侧边导航栏,但在单击切换按钮时它会隐藏并在再次单击切换按钮时显示。

Javascript 在我的 site.master 页面

 $(document).ready(function () {
             if ($('#PanelState').attr('value') == 'false') {
                 $('#sidebar').addClass('hiddencol');
        }

    $('#sidebarCollapse').on('click', function () {
        $('#sidebar').toggleClass('active');
        if ($('#sidebar').hasClass('active')){
         $('#PanelState').attr('value', true);
         }
        else {
         $('#PanelState').attr('value', false);
        }
    });   
    });

CSS

   #sidebar {
    min-width: 300px;
    max-width: 300px;
    height:100vh;
    background: #158CBA;
    color: white;
    transition: all 0.3s;
}

    #sidebar.active {
        margin-left: -300px;
    }
.hiddencol {
    display: none;
}

aspx 隐藏字段

<asp:hiddenfield id="PanelState" runat="server" value="true" ClientIDMode="static"   />

但每次 post 返回侧导航栏后,如果之前隐藏,将不会保持隐藏状态

尝试使用隐藏字段:

<asp:HiddenField ID="SidebarState" runat="server" ClientIDMode="Static" />