2012-02-12 21 views
0

私のASP.NET MVC3プロジェクトは、ウェブサイト自体の一方の手で構成されていますが、「管理者用コントロールパネル」のようなものです。つまり、全く異なる2つのマスターレイアウトを使用する必要があります。ASP.NET MVC3プロジェクト(剃刀)で異なるレイアウトを使用

これを達成するにはいくつかの方法があります。各管理者ビューの上部に

  • が、私は、@ {レイアウト=「〜/.../_ AdminLayout.cshtml」を追加することができます。 }
  • また、管理者のコントローラでオーバーロードされたViewメソッドを使用することもできます。戻り値View( "Index"、 "_AdminLayout"、viewModel);

どちらのアプローチもDRYの原理とは少し異なります。

最も一般的なアプローチは何ですか? _ViewStartファイルにいくつかのロジックを置く方法がありますか。管理者ページや通常のページレイアウトを使用するかどうか自動的に判断できますか?

このような場合には、両方のセクションのルーティングが異なる場合があります。

Normal page: {controller}/{action}/{id} 
Admin page: admin/{controller}/{action}/{id} 

答えて

4

管理領域を作成し、領域の_ViewStartファイルで管理マスターレイアウトを設定する方法はありますか?

+0

ありがとうございました。これはまさに私が考えていた帽子ですが、私は意思決定のロジックについて少し助けが必要です。 _ViewStartで標準レイアウトまたは管理レイアウトを読み込むかどうかを決定するにはどうすればよいですか?上記の私の編集を参照してください。編集:ああ、今私はそれを得る。 「管理エリアを作成する」と言って**ルーティングエリア**を意味しますか? – alapeno

+0

私はこれを意味しますhttp://msdn.microsoft.com/en-us/library/ee671793(v=vs.98).aspx –

+0

ありがとう、私はこのようなものが存在することを知っていましたが、それは私の心に来なかったそれが必要。 – alapeno

関連する問題