ASP.NET Webアプリケーションの実行時に使用されているCSSファイルを変更したいと思います。実行時にCSSファイル(テーマ)を変更する(ASP.NET)
私は2つのCSSファイル、red.css
とblue.css
を持っているとしましょう。
私は、次のアプローチを試みた:マスターページのPage_Loadで
<link rel="Stylesheet" ID="Styles" runat="server"/>
:
Styles.Href = Global.CSSPath;
を
Global.asax:
public static string CSSPath = "red.css";
(同じフォルダ内にあると仮定します)
このアプローチは機能します。もちろん、CSSPathの値を変更してblue.cssなどにする機能を簡単に実装することもできます。これは、これが1人のユーザーにしか影響しないのか、Webアプリケーションを使用する全員に影響を与えるのかを知りたいと思います。
1人のユーザーにのみ影響する場合:大変です、ありがとう!そうでない場合:特定のユーザー/セッションの実行時にテーマを変更できるようにするにはどうすればよいですか?あなたは、静的(グローバル)変数から値を読んでいるよう
おかげで、
デニス
ありがとう、それは私が探していたものです! Global.asaxのすべての方法でセッションにアクセスできないので、具体的なアプローチがありますか? –
あなたはいつも組み込みのASP.NETテーマを使用するオプションを持っています。また、グローバルレベルでこれを行うのではなく、すべてのページに共通の動作を提供することもできます。これまでは、各ページをSystem.Web.UI.Pageから派生した基本クラスから継承していました。ここでは、パイプラインの適切なメソッドをオーバーライドして、ここにプロパティを設定します。セッションは利用可能になり、すべてのWebFormsページが新しい基本クラスから継承されている限り、「無料」のためにこの動作が得られます。希望は意味をなさない。 –