ASP.NET MVC 3でのRazor Templatingに関するこのブログ投稿を読みました。
簡単に言えば、私はそれを理解していません!
つまり、なぜこの (かなり) 複雑なコードが必要なのかがわかり@RenderPartial
ません。
ここに私が好きではないものがあります:
- テンプレートは
Func<T,HelperResult>
デリゲートとして保存されますか? - そのテンプレート デリゲートは、Controller ViewData (例: HttpContext.Current.Items) に永続化されます。
そのブログから読んだ唯一の「利点」は、テンプレート化に別のファイルが必要ないことです。つまり、再コンパイルする必要がないということです。
しかし、私はそれを有効な議論とは考えていません。ソリューションの構成が損なわれない限り、余分なファイルは問題ありません。
@RenderPartial
マークアップをマスター ビューから分離しておくことができ、これをインライン (レンダリング時間) と jQuery (たとえば AJAX イベント) の両方でレンダリングできるので、私はを使用することを好みます。
ここで何かが足りないかもしれませんが、再利用可能なコンテンツを作成するために RenderPartial ではなく Razor Templating を選択する理由を誰か教えてください。