サンプル
コントローラ
SamplePartialController.vb(ただビューを表示するだけ)Imports System.Web.Mvc Namespace Controllers Public Class SamplePartialController Inherits Controller ' GET: SamplePartial Function Index() As ActionResult Return View() End Function End Class End Namespace
ビュー
* Sharedディレクトリを右クリックし、[Add]-[MVC5 Partial Page(Razor)]で部分ビューを追加_PartialPage1.vbhtml(部分ビュー)
<div> <h2>ここに部分ビューの内容を書く</h2> </div>Index.vbhtml
@Code ViewData("Title") = "Index" End Code <h2>Index</h2> ここが部分ビュー↓ @Html.Partial("_PartialPage1") ここが部分ビュー↑
出力結果
Index ここが部分ビュー↓ ここに部分ビューの内容を書く ここが部分ビュー↑
注意
RenderPageについて
http://blog.shibayan.jp/entry/20140501/1398956392より * 機能としては Partial / RenderPartial に近い * Shared ディレクトリを認識しない点が大きな違い * 呼び出し時にパラメータを渡せるhttp://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_08/aspnetmvc3_08_04.html
より * RenderPageメソッドはPartial/RenderPartialメソッドのようなビュー検索機能を持たない (「/Views/コントローラ名/ビュー名.cshtml」→「/Views/Shared/ビュー名.cshtml」の順で 検索を行わない) => 引数にも部分ビューへの正確なパスを渡さなければならず、やや不便 * RenderPageメソッドとRendePartialメソッドとを同一のページで組み合わせてしまうと、 後に呼び出したRenderPartialメソッドの結果が出力されないという不具合もあるようだ(逆なら大丈夫)
参考文献
http://blog.shibayan.jp/entry/20140501/1398956392http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_08/aspnetmvc3_08_03.html