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")
⇒外部ファイルが↑ 部分に読み込まれる。