ASP.NET MVC应用主题的暗模式不会切换

时间:2020-03-31 17:21:51

标签: javascript c# html asp.net-mvc model-view-controller

我正在尝试在我的MVC应用程序上创建一个深色主题。

我已经保存了一个主题,应用程序在启动时会使用

<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap-simplex.css" />

下面是我的site.js文件中的js

function updateStyleSheet(filename) {

    newstylesheet = "Content/" + filename + ".css";
    if ($("#dynamic_css").length == 0) {
        $("head").append("<link>")
        css = $("head").children(":last");
        css.attr({
            id: "dynamic_css",
            rel: "stylesheet",
            type: "text/css",
            href: newstylesheet
        });
    } else {
        $("#dynamic_css").attr("href", newstylesheet);
    }
}

以下是我在_Layout.cshtml页面上使用的内容,这是我想要切换到的主题。

 <input type="button" onclick="updateStyleSheet('bootstrap-slate')" value="Dark Mode">

我似乎无法切换主题的工作,没有人知道为什么吗?

1 个答案:

答案 0 :(得分:0)

Bootstrap 4本机不支持暗模式。但是有一些方法可以实现这一点-参见Guide to Dark Mode and Bootstrap

boostrap-night示例可以很容易地适应使用Bootswatch主题。

我建议您不要使用Slate / Simplex组合,因为这些主题具有非常不同的非颜色样式(例如,字体,大小,边距等),并且切换开关会产生难看的过渡效果。但是Flatly / Darkly组合在非颜色样式上相同,并且具有非常无缝(且很酷)的过渡效果。