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の名前.




    "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ファイルで指定された設定を上書きします.