私のASP.NET MVC Webサイトでは、人々はさまざまなCSSスタイルの中から選択できます。将来、これらのCSSスタイルの名前はデータベースに保存されます。ユーザ設定に基づいてCSSスタイルをロードするにはどうすればよいですか?
私は、次の方法(まだデータベースと通信していない)あります
public FileResult CssStyle()
{
string style = "/Content/wide-site.css";
if (!String.IsNullOrWhiteSpace(style))
{
return File(style, "text/css");
}
return File("/Content/site.css", "text/css");
}
をそして、私の_Layout.cshtmlに、私はスタイルシートをロードするには、この行を使用します。
<link href="@Url.Action("CssStyle", "Home")" rel="stylesheet" type="text/css" />
このCssStyle()メソッドがデータベースへのリクエストを行い、すべてのページがロードされるとクエリを実行するとします。これらの不要なリクエストを防ぐにはどうすればよいでしょうか?おそらくセッション?
がどのように多くのスタイルシートあなたが持つことを計画します:
あなたがセッションを使用していないソリューションが必要な場合は、一日あたりのCSSファイルあたり最大1つのDBアクセス時に、あなたはこのような何かを行うことができます言いますか?プレーンテキストを格納する代わりに、ハッシュマップ/列挙型を使用することをお勧めします。 –
テーマフォルダはどうですか? http://stackoverflow.com/questions/769878/asp-net-mvc-themes-how-to – Amitd