Asp .net core 暗模式问题

Asp .net core dark mode issue

提问人:Krystian 提问时间:11/17/2023 最后编辑:Priyanka VadhwaniKrystian 更新时间:11/18/2023 访问量:40

问:

我通过带有简单 CSS 动画(从太阳到月亮)的复选框在我的应用程序中切换了深色模式,如果 cookie“isDarkMode”值为“true”,则在视图开头执行一个 javascript 函数,然后我将所有类切换到深色模式。

当我切换时,无论是否是浅色或深色模式,并且之前到达该站点,复选框状态仍保持旧状态(如屏幕截图所示),尽管除其他外,其他所有内容都正常工作并更改为设置模式,但会出现问题。此外,刷新后将模式更改为正确状态。截屏

另一个问题是;在深色模式下每次打开本网站的页面时,都会有短暂的浅色闪烁模式。

模式的切换在 cshtml 布局中显示:

<label class="switch">
   @{
       if (ViewBag.isDarkTheme == "true") 
       {
          <input id="checkBox" onclick="toggleTheme()" type="checkbox" checked="checked" asp-        controller="Posts" asp-action="ChangeDarkTheme" />
       }
       else
       {
          <input id="checkBox" onclick="toggleTheme()" type="checkbox" asp-controller="Posts" asp-      action="ChangeDarkTheme" />
       }
   }
   <div class="slider"></div>
</label>

我能做什么,ASP中有更好的解决方案吗?

javascript c# html asp.net-core

评论

0赞 Jivopis 11/17/2023
您是否尝试将样式分解为 2 个独立的 css 文件“浅色模式”和“深色模式”,并根据逻辑加载另一个文件?因为,目前您首先加载页面,然后执行操作。但是您需要在加载页面之前做出决定。

答: 暂无答案