ASP.NET MVC 外部レイアウト/部分ビュー

外部レイアウト

通常のView(レイアウト使用無し)

@{
  Layout = null;
}
<!DOCTYPE html>
<html>
<head>
  <title>Index1</title>
</head>
<body>
  内容
</body>
</html>

※外部レイアウト使用

(Views/Index.cshtml)
@{
  //レイアウトファイル名は「_」で開始されている事
  Layout = "~/Views/Shared/_Layout.cshtml";
}
内容…①

レイアウトを使用するとViewに<html>や<body>タグが表示されない。
レイアウトファイルに記載されたタグが使用される。
この場合、Viewでの編集領域は、↓ レイアウトファイルにおける@RenderBody部分に格納される。

※レイアウトファイル
(Views/Shared/_Layout.cshtml)
<!DOCTYPE html>
<html>
<head>
  <title>@ViewBag.Title</title>
  <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
  <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
</head>
<body>
  @RenderBody() …①の内容はここに表示される
</body>
</html>

部分ビュー

↓ View(レイアウト使用でも不使用でも可)
//部分ビューの読み込み
@Html.Partial(partialViewName:"_Layout")
⇒外部ファイルが↑ 部分に読み込まれる。