c# - 为css和js的导入创建局部视图 asp.net core 2.2
问题描述
这是一个关于设计的问题。在我的 ASP.Net Core MVC 应用程序中,我有 2 个布局。我的默认布局和我的管理员布局,名字就很清楚了。我确实为我的两个布局导入了相同的 js 和 css,例如 Bootstrap 和 jQuery 等等。我想知道是否应该创建一个包含这些的局部视图。可能有我不知道的不同解决方案。
任何帮助表示赞赏。
解决方案
您可以使用嵌套布局来拥有布局层次结构。我有一个和你类似的场景。我有一个 _MasterLayout.cshtml 与我为所有页面提取的全套 CSS 和 JS 共享。然后为不同的部分创建一个单独的布局文件。参考顶部的主布局,然后包括为该布局添加特定代码的所有其他部分。
所以你可以有一个 MasterLayout 像:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="content-security-policy" content="upgrade-insecure-requests" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
@RenderSection("Styles", required: false)
<title>@ViewData["Title"]</title>
</head>
<body>
<div class="container body-content">
@RenderBody()
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" crossorigin="anonymous"</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@RenderSection("Scripts", required: false)
</body>
</html>
还有一个单独的嵌套布局,如下所示:
@{
Layout = "_MasterLayout";
}
@RenderSection("Styles", required: false)
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
// custom navbar for anonymous users
</nav>
<div class="container body-content">
@RenderBody()
</div>
@section Scripts {
@RenderSection("Scripts", required: false)
}
嵌套布局的文档并不多。这是我发现的另一篇描述该方法的文章。
推荐阅读
- css - 以角度 8 加载页面后触发动画,ExpressionChangedAfterItHasBeenCheckedError
- flutter - Flutter 如何在显示为文本时不显示列表的 [] 括号?
- c# - 实体框架和 MVC 5. 来自数据库的数据未显示在本地主机上
- css - 无法断字:中文和日文的断词 css
- c++ - 在 C++ 中继承层次结构时提取实现者
- java - 如何在 Swagger Codegen Maven 插件中使枚举字段可选?
- reactjs - 如何在 js Web 应用程序中保持身份验证令牌的安全?
- c++ - 将对象存储为基本 VIRTUAL 类
- angular - node_modules/primeicons/primeicons.css”由于 MIME 类型 (“text/html”) 不匹配 (X-Content-Type-Options: nosniff) 而被阻止。在角6
- r - 是否有用于创建具有两个向量的空边列表(双模式)的 R 函数?