Asp.Net Core入門(五)-レイアウトビュー_Layout.cshtml
3558 ワード
レイアウトビューと私たちはAsp.Net MVC同様、レイアウトビュー_Layout.cshtmlは、変更するレイアウトビューファイルが1つしかないため、変更後すぐにアプリケーション全体のすべてのビューに反映されるため、すべてのビューを一貫した外観に保つことが容易になります.
ASP.NET Core MVCには、レイアウトのビューなどのビューファイルがあります.ViewStart.cshtmlと_ViewImports.cshtml等その他.cshtmlファイルのファイル名は、ブラウザ向けではないことを示す前下線で始まります.
単一のアプリケーションに複数のレイアウトビューファイルを含めることができます.たとえば、1つのレイアウトビューファイルサービスは管理者ユーザーであり、もう1つの異なるレイアウトビューファイルサービスは一般ユーザーである.
一般的には、レイアウトビューをViews/Sharedフォルダの下に構築し、Layout.cshtmlの名前.
私たちはViews/ViewStart.cshtmlは、リクエスト時に先に検索されるため、どのレイアウトページを有効にするかを指定します.ViewStart.cshtml.
また、多くのページで同じネーミングスペース、同じモデルを使用すれば、Views/ViewImports.cshtmlファイルに共通のネーミングスペース、modelを追加します.
注意しなければならないのは、ViewStartと_ViewImportsは階層化をサポートしており、Viewsフォルダに配置するほか、Viewsフォルダの「Home」サブフォルダに別の_を配置することもできます.ViewImportsは、ファイルホームのフォルダ内の
ASP.NET Core MVCには、レイアウトのビューなどのビューファイルがあります.ViewStart.cshtmlと_ViewImports.cshtml等その他.cshtmlファイルのファイル名は、ブラウザ向けではないことを示す前下線で始まります.
単一のアプリケーションに複数のレイアウトビューファイルを含めることができます.たとえば、1つのレイアウトビューファイルサービスは管理者ユーザーであり、もう1つの異なるレイアウトビューファイルサービスは一般ユーザーである.
一般的には、レイアウトビューをViews/Sharedフォルダの下に構築し、Layout.cshtmlの名前.
"viewport" content="width=device-width" />
@ViewBag.Title
@RenderBody()
@*@if (IsSectionDefined("Scripts"))
{
@RenderSection("Scripts");
}*@
@RenderSection("Scripts", false);
私たちはViews/ViewStart.cshtmlは、リクエスト時に先に検索されるため、どのレイアウトページを有効にするかを指定します.ViewStart.cshtml.
@{
Layout = "_Layout";
}
@if (User.IsInRole("Admin"))
{
Layout = "_AdminLayout";
}
else
{
Layout = "_NoAdminLayout";
}
また、多くのページで同じネーミングスペース、同じモデルを使用すれば、Views/ViewImports.cshtmlファイルに共通のネーミングスペース、modelを追加します.
@using StudentManagement.Models;
@using StudentManagement.ViewModels;
@* *@
@*
@addTagHelper
@removeTagHelper
@tagHelperPrefix
@model
@inherits
@inject
*@
注意しなければならないのは、ViewStartと_ViewImportsは階層化をサポートしており、Viewsフォルダに配置するほか、Viewsフォルダの「Home」サブフォルダに別の_を配置することもできます.ViewImportsは、ファイルホームのフォルダ内の
\_ViewImports
がSharedフォルダ内の\_ViewImports
ファイルで指定された設定を上書きします.