3

私は MVC/Razor/.Net/C# を使用しています。Microsoft Windows でテーマを変更できるように、ユーザーがサイトのテーマを変更できるようにしたいと考えています。

誰かが方法を知っているか、またはいくつかの優れたチュートリアル/例の方向に私を向けることができますか.

乾杯

4

2 に答える 2

4

これは非常に幅広い質問であり、正しいアプローチはいくらでもあります。

各リクエスト中に、ユーザーが選択した CSS テーマ名をデータベースからロードする基本コントローラーを作成できます。次に、その値をViewBag(またはViewData) に入れて、ビューで参照できます。

<head>
  @{
    var themeName = ViewBag.ThemeName;
  }
  @if (String.IsNullOrWhiteSpace(themeName)) {
    themeName = "default";
  }
  <link href="@Url.Content(String.Format("~/themes/{0}.css", themeName))" type="text/stylesheet" />
</head>
于 2012-12-18T12:33:28.050 に答える
3

通常、この機能は複数の CSS ファイルで実現され、.NET とはほとんど関係がありません (またはまったく関係ありません)。

CSS ファイルを変更することで、適用される CSS ごとに出力全体が異なるように、セマンティックな方法で HTML を設計する必要があります。

このリンクは、主題へのより説明的なイントロを提供します-> http://www.thesitewizard.com/css/switch-alternate-css-styles.shtml

それを行った後、アプリケーションで行う必要があるのは、(どのスキンの) ユーザー設定をセッションなどに保存し、それに応じて CSS ファイルを変更することです。

Asp.Net WebForms にはスキン/テーマ機能がありましたが、廃止されたと思います (あまり良くありません)。開発者が HTML の代わりに XML および XSLT ファイルを使用してビューをレンダリングする実装も見ました (これは私の好みには複雑すぎます)。

于 2012-12-18T12:32:58.173 に答える