2017-01-06 10 views
0

@ Html.RenderPartial( "")を使用して、一部のビュー内で部分的な表示をレンダリングします。 コントローラがこの部分を探すか、それともViewEngineですか?部分ビューがコントローラのホームエリアにないとします。これはとても混乱しています。ASP.NET MVC 3コントローラまたはビューエンジン

答えて

1

Html.RenderPartialの場合とは異なり、Html.RenderPartialの場合、対応する部分的なビューを検索し、メインビューの指定された場所に表示するのはビューエンジンです。このプロセスにはコントローラはありません。そして、部分的なビューでは、常にそれへのフルパスを指定することができ、コントローラのホームエリア内に存在しない場合:

@Html.RenderPartial("~/Views/Foo/Bar") 
+0

私はよく分からないので、ビューエンジンは、この部分図のために共有フォルダになりますそれが存在しない場合は例外をスローしますか?コントローラがビューの各エリアのホームフォルダを検索していませんか? – user7007558

+0

私はそれについてはあまりよく分かりませんが、確認するのは簡単です。私はそれが標準的なビュー規則と同じ規則に従うと思います:最初に、それはメインビューがあるフォルダと同じフォルダを見てから、共有されます。 –

+0

私はそれを確認しました。ビューがSharedフォルダまたはコントローラのAreaフォルダにある場合、どちらの場合でも動作するようです。私が理解できないように見えるのは、これをすべて「制御」しているコントローラか、それともビューエンジンかということです。 – user7007558

関連する問題