Тема темного режима ASP.NET MVC

#css #asp.net-mvc #bootstrap-4

#css #asp.net-mvc #bootstrap-4

Вопрос:

Я создаю веб-приложение и хотел бы предоставить пользователю возможность переключать тему с оригинальной на тему в темном режиме.

У меня есть два разных файла .css, один для оригинальной темы и один для темного режима, но я не знаю, как реализовать такую кнопку.

На данный момент у меня есть функция:

 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);
        }

    }
  

И я называю это использованием:

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

Однако, когда я перехожу на другую страницу, тема возвращается к исходной. Как мне сделать это постоянным?

Любая помощь высоко ценится.

Комментарии:

1. Что вы уже пробовали?

2. @ColbyBoren Я обновил вопрос с учетом моего прогресса.

3. Вам нужно будет сохранить этот «выбор» на клиенте (например, Web Storage API ), проверить наличие этой «сохраняемой переменной» и получить ее значение, если таковое имеется, в противном случае некоторое «значение по умолчанию». Это было бы глобальным (для всех ваших страниц), так что _Layout.cshtml скорее всего, к чему это приведет.