Zmiana stylów z poziomu użytkownika

0

Hej, zastanawiam się nad najlepszym rozwiązaniem problemu.

W ASP.NET Core chcę utworzyć widok z którego autoryzowany użytkownik będzie mógł ustawić kolor tła dla poszczególnych grup elementów widoku. Na przykład kolor tła dla czcionki wpisów blogu.

Na chwilę obecną mam tylko rozwiązanie tego rodzaju: użytkownik wybiera kolor -> hex color code jest zapisywany na serwerze jako łańcuch string -> view component (wołany przez layout) tworzy ViewBagi z kolorami odczytanymi z serwera-> widoki przypisują ViewBagi stylom. Na przykład:

View Component:
ViewBag.Element1BackgroundColor = _repository.ColorSettings.GetText1Color();

View:
<div style="color: @ViewBag.Element1BackgroundColor">

Czy znacie jakieś bardziej eleganckie rozwiązanie? Które by na przykład nadpisywało style?

1

Uzyj JS i po prostu podmień styl.

0
Webowy Koziołek napisał(a):

Uzyj JS i po prostu podmień styl.

Ale nie chcę podmieniać całego pliku, tylko dać możliwość edycji poszczególnych stylów.

0
Webowy Koziołek napisał(a):

Uzyj JS i po prostu podmień styl.

Po części skorzystałem z Twojego pomysłu. Dla wybranych klas przy użyciu jQuery dodałem style, gdzie kolory były dostarczone przez globalnie dostępny ViewBag.

Dla niektórych elementów HTML stworzyłem TagHelper..

Próbowałem przez JS dodawać atrybuty rozpoznawane przez TagHelper, ale się przekonałem, że TagHelper jest kompilowany przed funkcją JS i DOM, więc zostawałem z tagami w HTML nieprzerobionymi na style i nie jestem pewien czy da się to jakoś przeskoczyć...?

Bądź co bądź ViewBag i TagHelper zrobiły swoje.

0

Ja bym trzymał to w konfiguracji usera i tam dał mu możliwość konfiguracji wyglądu w założonym przez siebie zakresie.
Dalej pobrałbym RAZ tą konfigurację i użył jej. Nie upierając sie zbytnio, JS nie jest potrzebny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1