2011-02-09 11 views
2

私はApp_ThemesディレクトリとASP.NET Webサイトのマスターページを持っています。ASP.NET複数のテーマを1つのサイトに追加

マスターページに基づいて2つの異なるテーマを使用できますか?

+1

「マスターページに基づいて」と説明できますか?あなたはマスターページでテーマを設定することはできません。 – XtremeBytes

答えて

7

MSDNは、あなたが直接、マスターページにASP.NET テーマを適用することはできませんASP.NET Master Pages And Themes

についての記事があります。 @ Master ディレクティブに テーマ属性を追加すると、実行時にページに というエラーが発生します。しかし、テーマはこのような状況の下で ページを習得するために適用されている

  • テーマはコンテンツ ページで定義されている場合。マスターページはコンテンツページの コンテキストで解決されるため、 コンテンツページのテーマは マスターページにも適用されます。全体としてサイトはページ要素 (ASP.NET設定スキーマ)要素内のテーマ 定義を含めることで、テーマを使用するように を設定されている場合

あなたはThemes and Skinsに関するセクションを参照してくださいすることができ、上記に加えて。あなたはchange theme programmatically

例MSDN

から
protected void Page_PreInit(object sender, EventArgs e) 
{ 
    switch (Request.QueryString["theme"]) 
    { 
     case "Blue": 
      Page.Theme = "BlueTheme"; 
      break; 
     case "Pink": 
      Page.Theme = "PinkTheme"; 
      break; 
    } 
} 

ことができますが、あなたはどんな意味がありませんので、同時に2つのテーマを使用することはできません。ただし、どのマスターページが使用されているかに基づいてテーマを変更できます。

あなたのコメントにあなたの質問に答えるには、はい、あなたは異なるサブフォルダのために異なるテーマを持つことができます。これはMSDNからです:Web.configファイル で

テーマ設定は そのアプリケーション内のすべてのASP.NET Webページに適用されます。 のテーマ設定では、Web.configファイルは通常の構成のとおりに に従います。 たとえば、ページのだけ サブセットにテーマを適用するために、あなたは自分の Web.configファイルとフォルダに ページを置くことができるか にルートWeb.configファイルで 要素を作成するフォルダを指定。詳細は、 特定のファイルの設定および のサブディレクトリを参照してください。

+0

サブディレクトリのweb.configで ''を使用できるかどうか知っていますか?もしそうなら、それをそのように分けることができるかもしれません。 – Greg

+0

@Greg、私は私の答えを更新しました。 –

+0

これは素晴らしい答えです! – Greg

関連する問題