2017-05-16 17 views
1

私が正しく理解していれば、マスター_Layout.cshtmlファイルを見つけるためにどの場所を検索するかを指定することを意図しています。カミソリビューエンジンのMasterLocationFormatsのポイントは何ですか?

_ViewStart.cshtmlファイルは、例えば、完全なパスが必要ですが~/Views/Shared/_Layout.cshtml。つまり、MasterLocationFormatsで指定された場所は完全に無視されます。

私の質問は以下のとおりです。

  • は、なぜ最初の場所でMasterLocationForamts[]含むわざわざ?
  • MasterLocationFormats[]の別の用途はありますか?
  • MasterLocationFormats[]で指定された場所 で_ViewStart.cshtml検索をする方法はありますか?私は_ViewStart.cshtml_Layout.cshtmlのような相対パスを使用して試してみましたが、それはうまくいきませんでした

私はこの周りGoogleで検索しましたし、それがどこかに説明しなければならないが、私はそれを見つけることができません。私はsimilar questionに尋ねましたが、回答者に感謝しますが、実際には私の混乱の根本には触れませんでした。

答えて

0

私は答えがあります。

私は誤ってMasterPages = Layout.chtmlと思っていました。違います。

これらは類似の概念ですが、WebFormsViewEngineでのみ使用され、RazorViewEngineでは使用されません。さらに説明したように、私はthis answerから重く引用します

をMVC3以降では、かみそりビューエンジンが導入されました。剃刀 では、マスターページを使用できません。

MVC3及び4は、別のビューエンジンは、Webフォームは、エンジン [すなわち使用]マスターページを表示呼びました。

マスターページかみそり は、セクションを定義することができますが、あなたがコンテンツプレースホルダを定義することができます。マスターページは、 の外部にページをレンダリングします。これは、最初にマスターページ、次にコンテンツプレースホルダーを意味します。 かみそりは私が再帰的だと信じていて、最も内側のセクションから始まり、 が元に戻ります。

したがって、剃刀を使用する場合、マスターページの概念は有効ではないようです。

しかし、私の質問はまだ立って:

はなぜMasterLocationFormatsでもRazorViewEngineに含まれていますか?

わかっている場合は、回答を投稿してください - 正しいものとしてマークします。

関連する問題