私が所有している/作成したRazorビューのレイアウトパスを手動で指定する必要がなくなりました。私は私のことができるようにするのが大好きだしたすべての私のコントローラが継承されているベースコントローラを、持っている剃刀ビューでレイアウトパスを指定せずにグローバルMVCレイアウトを指定する方法
@{
ViewBag.Title = "About Us";
Layout = "~/Views/Shared/_ContentLayout.cshtml";
}
:かみそりビューでそう
、あなたは、通常のようなビュー/レイアウトプロパティを指定しますこのレベルのレイアウトを指定するか、あるいはapp_startなどで指定します。これ以外にも、ビュー自体でこれをオーバーライドします。
広範な検索の後で、私はまだこれを行うことができる誰かの証拠を見いだせませんでした。
私の現在、次善の問題を回避するには、動的な、それを維持するために、ViewBagでこれを指定することですが、私はまだビューに宣言を配置する必要があります。
@{
Layout = ViewBag.Layout;
}
それは可能ですか?ソリューション?
が、これは私の質問に答えると、イエスは、私はすでに、おかげでそのファイルを持っているようです信じて!しかし、これはコントローラベースで適用することができます。各コントローラにデフォルトのテンプレートがありますか? – MikeDub
これは '_ViewStart'でも可能です。簡単に条件文を実行してコントローラをチェックすることができます。コントローラに応じて 'Layout'を設定します。 – Nkosi