一個選項是在您的佈局頁面中使用@RenderSection
來實現此目的。在佈局頁面你有共同使用的佈局和使用@RenderSection
指定的佔位符,其中頁面的具體文件將包含所有的網頁文件和/或束(注意第二個參數= false
使得可選)
佈局
頁
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<link href="~/Content/Common.css" rel="stylesheet" /> // Common .css files here
@RenderSection("styles", false) // Place holder for optional page specific .css files
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div id="content">
@RenderBody()
</div>
@Scripts.Render("~/bundles/jquery") // Common .js files or bundles
@RenderSection("scripts", required: false) // Place holder for optional page specific .js files or bundles
</body>
</html>
然後,在頁中,定義章節的頁面特定束和/或文件
@model ....
// Page specific html
@section styles {
<link href="~/Content/page-specific-stylesheet.css" rel="stylesheet" />
}
@section Scripts {
@Scripts.Render("~/bundles/page-specific-bundle")
<script src="~/Scripts/page-specific-file.js"></script>
<script type="text/javascript">
// page specific script
</script>
}
沒有理由不能爲頁面特定文件創建捆綁包,即使它只有一個文件。優點是對於您的生產環境,這些文件將被自動縮小(除非已經在同一文件夾中添加了.min.js文件)。默認情況下,捆綁軟件緩存在瀏覽器中(我想12個月),如果您編輯文件,則會創建一個新的縮小版本,並從瀏覽器緩存中刪除舊版本。