Untuk CSS yang digunakan kembali di antara seluruh situs saya mendefinisikannya di <head>
bagian _Layout
:
<head>
<link href="@Url.Content("~/Styles/main.css")" rel="stylesheet" type="text/css" />
@RenderSection("Styles", false)
</head>
dan jika saya perlu beberapa gaya tampilan tertentu saya mendefinisikan Styles
bagian dalam setiap tampilan:
@section Styles {
<link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />
}
Sunting: Sangat berguna untuk mengetahui bahwa parameter kedua di @RenderSection, false, berarti bahwa bagian tersebut tidak diperlukan pada tampilan yang menggunakan halaman master ini, dan mesin tampilan akan dengan senang hati mengabaikan fakta bahwa tidak ada bagian "Gaya" yang ditentukan menurut Anda. Jika benar, tampilan tidak akan merender dan kesalahan akan dilemparkan kecuali bagian "Gaya" telah ditentukan.
RenderSection
(mengherankan :), bukan di akhir header.Saya mencoba menambahkan blok seperti ini:
Dan blok yang sesuai di file _Layout.cshtml:
Yang bekerja! Tapi saya tidak bisa tidak berpikir ada cara yang lebih baik. UPDATE: Menambahkan "false" dalam
@RenderSection
pernyataan itu sehingga tampilan Anda tidak akan terpecah ketika Anda lalai untuk menambahkan yang@section
dipanggilhead
.sumber
"Head"
.@RenderSection()
. Tangkapan yang bagus.Menggunakan
atau
bisa bekerja untukmu.
https://stackoverflow.com/a/36157950/2924015
sumber
tata letak bekerja sama dengan halaman master. setiap referensi css yang dimiliki tata letak, setiap halaman anak akan memiliki.
Scott Gu memiliki penjelasan yang sangat bagus di sini
sumber
Saya lebih suka menggunakan helper html silet dari Client Dependency dll
sumber
Anda dapat struktur ini di file Layout.cshtml
sumber