2009-08-16 17 views
5

私はこれと完全に動作するために私はsite.masterファイルを使用しているので、私は同じ "ベース"レイアウトを持っているファイルの数を持っています。しかし、今私は別の "site.master"ファイルを持つ別のページセットが必要です。 1つのソリューションに複数のsite.masterファイルを含めることができます私はasp.net mvcで複数のsite.masterファイルを持つことができます

答えて

5

はい。マスターをSite.masterファイルとともにSharedフォルダに置き、新しいViewページで参照を変更するだけです。マスターページの「Site.master」文字列を置換するか、新しいビューを作成するときにウィザードからマスターページを選択して、これを行うことができます。

+0

共有フォルダ内にある必要はありませんか? – Martin

+0

私はそれを見たことはありません。それは、私が読んだ、観察され、実践されたすべてからのデフォルトとしてそこに置かれているだけです。 – andymeadows

1

はい。すべてのページの上に使用するマスターページを定義することができます。またはこれをプログラムで設定することもできます。

2

名前や場所が異なるマスターページを、必要な数だけ作成できます。マスターページを持つマスターページを持つこともできます。

ただし、ビューは1つのマスターページしか使用できません。

0

マスター設定ページの名前をアプリ設定内に保存し、Controllerクラス内のViewメソッドをオーバーライドします。

protected override ViewResult View(string viewName, string masterName, object model) 
    { 

     return base.View(viewName,System.Web.Configuration.WebConfigurationManager.AppSettings["MasterPageName"], model);  
    } 
+0

この行は次のようにする必要があります。 return base.View(viewName、System.Web.Configuration.WebConfigurationManager.AppSettings ["MasterPageName"]、model); –

+0

コードが適切にフォーマットされるように回答を編集することを検討してください。これを行うには、各行の前に4つのスペースを入れ、それに応じてインデントします。 –

+0

また、作成したコメントで回答を編集することもできます。 :) –

関連する問題