Dalam sebuah .NET MVC4
proyek bagaimana cara @Styles.Render
kerjanya?
Maksud saya, di @Styles.Render("~/Content/css")
file mana ia dipanggil?
Saya tidak punya file atau folder bernama "css" di dalam Content
folder saya .
c#
asp.net-mvc
razor
asp.net-mvc-4
Ricardo Polo Jaramillo
sumber
sumber
Jawaban:
Itu memanggil file yang termasuk dalam bundel tertentu yang dideklarasikan di dalam
BundleConfig
kelas diApp_Start
folder.Dalam kasus tertentu Panggilan ke
@Styles.Render("~/Content/css")
memanggil "~ / Content / site.css".sumber
*.min.*
alih*.*
file.Berhati-hatilah dengan sensitivitas case. Jika Anda memiliki file
dan Anda mengarahkan di Bundle.config Anda ke
itu tidak akan memuat css.
sumber
Agak terlambat ke pesta. Tapi sepertinya tidak ada yang memiliki disebutkan
bundling & minification dari
StyleBundle
, jadi ..panggilan masuk
Application_Start()
:yang pada gilirannya memanggil
RegisterBundles()
secara efektif menggabungkan & memperkecilbootstrap.css
&Site.css
ke dalam satu file,
Tapi ..
hanya bila
debug
diatur kefalse
dalamWeb.config
.Jika tidak
bootstrap.css
&Site.css
akan disajikan secara individual.Tidak dibundel, juga tidak diperkecil:
sumber
src="@url.content("~/Folderpath/*.css")"
harus menampilkan gayasumber
Sebagaimana didefinisikan dalam App_start.BundleConfig, itu hanya memanggil
Tidak ada yang terjadi bahkan jika Anda menghapus bagian itu.
sumber
Polo saya tidak akan menggunakan Bundel di MVC karena berbagai alasan. Ini tidak berfungsi dalam kasus Anda karena Anda harus menyiapkan kelas BundleConfig khusus di folder Apps_Start Anda. Ini tidak masuk akal ketika Anda dapat menambahkan gaya sederhana di kepala html Anda seperti:
Anda juga dapat menambahkan ini ke Layout.cshtml atau sebagian kelas yang dipanggil dari semua tampilan Anda dan jatuh ke setiap halaman. Jika gaya Anda berubah, Anda dapat dengan mudah mengubah nama dan jalur tanpa harus mengkompilasi ulang.
Menambahkan tautan hard-coded ke CSS dalam sebuah jeda kelas dengan seluruh tujuan pemisahan UI dan desain dari model aplikasi, juga. Anda juga tidak ingin jalur lembar gaya berkode keras dikelola di c # karena Anda tidak dapat lagi membangun "skins" atau model gaya terpisah untuk mengatakan perangkat yang berbeda, tema, dll. Seperti:
Dengan menggunakan sistem ini dan Razor, Anda sekarang dapat mengganti Skin Path dari basis data atau pengaturan pengguna dan mengubah seluruh desain situs web Anda dengan hanya mengubah path secara dinamis.
Seluruh tujuan CSS 15 tahun yang lalu adalah untuk mengembangkan "skin" style sheet yang dikontrol pengguna dan aplikasi dikendalikan untuk situs sehingga Anda bisa mengubah tampilan UI dan merasa terpisah dari aplikasi dan menggunakan kembali konten yang independen dari struktur data. .... misalnya versi yang dapat dicetak, seluler, versi audio, xml mentah, dll.
Dengan kembali sekarang ke sistem jalur "kuno", kode keras menggunakan kelas C #, gaya kaku seperti Bootstrap, dan menggabungkan tema situs dengan kode aplikasi, kami telah mundur lagi ke bagaimana situs web dibangun pada tahun 1998.
sumber
minification
begitu? : s / :(Saya melakukan semua hal yang diperlukan untuk menambahkan bundling ke web MVC 3 (saya baru dengan solusi yang ada).
Styles.Render
tidak bekerja untuk saya. Saya akhirnya menemukan saya hanya kehilangan titik dua. Di halaman master:<%: Styles.Render("~/Content/Css") %>
Saya masih bingung mengapa (di halaman yang sama)<% Html.RenderPartial("LogOnUserControl"); %>
bekerja tanpa tanda titik dua.sumber