除了将它放在 Views 文件夹中之外
转:https://www.cnblogs.com/jesen1315/p/11041967.html
构造视图和我们在Asp.Net MVC一样,,构造视图_Layout.cshtml使得所有视图连结一致的外不雅观变得越发容易,因为我们只有一个要改削的构造视图文件,变动后将当即反应在整个应用措施的所有视图中。
在 ASP.NET Core MVC 中,有一些视图文件,如构造的视图,_ViewStart.cshtml 和_ViewImports.cshtml 等其他.cshtml 文件的文件名以下划线开头,这些文件名中的前下划线暗示这些文件不是直接面向浏览器。
我们可以在单个应用措施中包罗多个构造视图文件。好比一个构造视图文件处事为打点员用户,此外一个差此外构造视图文件处事于普通用户。
我们一般将构造视图建在Views/Shared文件夹下,以_Layout.cshtml定名。
<!DOCTYPE html> <html> <head> <meta content="width=device-width" /> <title>@ViewBag.Title</title> </head> <body> <div> <[email protected]()是注入视图特定内容的位置。例如,如果使用此构造视图泛起 index.chtml 视图,则会在我们 挪用@RenderBody()要领 的位置注入 index.cshtml 视图内容 。--> @RenderBody() </div> @*@if (IsSectionDefined("Scripts")) { @RenderSection("Scripts"); }*@ @RenderSection("Scripts", false); </body> </html>
我们可以在Views/_ViewStart.cshtml指定启用哪个构造页,因为请求的时候会先找到_ViewStart.cshtml。
@{ Layout = "_Layout"; } @if (User.IsInRole("Admin")) { Layout = "_AdminLayout"; } else { Layout = "_NoAdminLayout"; }
同时,如果我们在很多页面都使用同一个定名空间,同一个model的话,我们可以在Views/_ViewImports.cshtml文件中添加共用的定名空间,model。
@using StudentManagement.Models; @using StudentManagement.ViewModels; @*还撑持以下指令*@ @* @addTagHelper @removeTagHelper @tagHelperPrefix @model @inherits @inject *@
需要注意的是,_ViewStart和_ViewImports是撑持分层的,除了将它放在 Views 文件夹中之外,我们还可以在 Views 文件夹的“Home”子文件夹中安排另一个_ViewImports,在文件 Home 的文件夹中的\_ViewImports将笼罩在 Shared 文件夹中的\_ViewImports文件指定的设置。
构造视图_Layout.cshtml
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31651.html