mvc怎么单独引用css文件,关于asp.net mvc:如何在剃刀视图中引用.css文件?
我知道如何在layout.cshtml文件上設(shè)置.css文件,但是在每個(gè)視圖的基礎(chǔ)上應(yīng)用樣式表呢?
我在這里的想法是,在layout.cshtml中,您可以使用標(biāo)記,但在非布局視圖中不能這樣做。標(biāo)簽在哪里?
對(duì)于在整個(gè)站點(diǎn)中重用的CSS,我在_Layout的部分中定義了它們:
@RenderSection("Styles", false)
如果我需要一些視圖特定的樣式,我在每個(gè)視圖中定義Styles部分:
@section Styles {
}
編輯:知道@rendersection中的第二個(gè)參數(shù)false很有用,這意味著在使用此母版頁的視圖上不需要該節(jié),視圖引擎會(huì)很高興地忽略在視圖中沒有定義"樣式"節(jié)這一事實(shí)。如果為true,則視圖將不會(huì)呈現(xiàn),除非定義了"樣式"部分,否則將引發(fā)錯(cuò)誤。
你知道,再想一想,這還不錯(cuò)。我覺得這只是新的和不同的。
另請(qǐng)參見stackoverflow.com/a/4311876/376366
@截面樣式——>表示無法解析截面樣式,這是什么意思?
@山姆,這意味著你的布局中沒有定義這樣的部分。
@Darindimitrov有一種方法可以在準(zhǔn)確的位置渲染,而不是在標(biāo)題的末尾。我想為CSS優(yōu)先級(jí)保留一個(gè)特定的順序。
@馬克,它是在一個(gè)你稱為RenderSection的地方呈現(xiàn)的(令人驚訝的是:),而不是在標(biāo)題的末尾。
_ layout.cshtml是我添加的地方,它起作用了!
我嘗試添加這樣的塊:
@section styles{
}
以及u layout.cshtml文件中的相應(yīng)塊:
@ViewBag.Title
@RenderSection("styles", false);
有效!但我忍不住覺得有更好的辦法。更新:在@RenderSection語句中添加了"false",這樣當(dāng)您忽略添加名為head的@section時(shí),您的視圖就不會(huì)出現(xiàn)splode。
沒有更好的方法,盡管我會(huì)命名為"Head"部分。
你說得對(duì)。稱之為"pagestyle"意味著它只是為了這個(gè)目的。
如果你這樣做,你需要在所有的視圖中添加"我的風(fēng)格",我會(huì)選擇達(dá)林的答案。
對(duì),這就是為什么我在@RenderSection()中加入了錯(cuò)誤的論點(diǎn)。抓得好。
使用
@Scripts.Render("~/scripts/myScript.js")
或
@Styles.Render("~/styles/myStylesheet.css")
可以為你工作。
https://stackoverflow.com/a/36157950/2924015
請(qǐng)不要發(fā)布重復(fù)答案的鏈接。相反,考慮其他可以幫助未來用戶找到他們需要的答案的操作,如鏈接帖子中所述。
布局的工作方式與母版頁相同。任何布局具有的CSS引用,任何子頁都將具有。
顧司各特有一個(gè)很好的解釋
非常感激。然而,我的問題是,如何設(shè)置對(duì)單個(gè)視圖的引用,而不是"主視圖"。
我更喜歡使用來自客戶端依賴dll的Razor HTML幫助程序
Html.RequireCss("yourfile", 9999); // 9999 is loading priority
您可以在layout.cshtml文件中使用此結(jié)構(gòu)
這如何允許我有選擇地為每個(gè)視圖應(yīng)用樣式表?
您還可以向每個(gè)部分添加一個(gè)類或ID,并且在頭中可以有類似mofidul所提到的樣式。我要做的是使用SASS,所以每個(gè)視圖都有一個(gè)單獨(dú)的類容器。通過這種方式,我為每個(gè)部分創(chuàng)建了SASS頁面,最后這些頁面更加結(jié)構(gòu)化和有組織。
總結(jié)
以上是生活随笔為你收集整理的mvc怎么单独引用css文件,关于asp.net mvc:如何在剃刀视图中引用.css文件?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GOF设计模式--简单工厂模式
- 下一篇: 06 事件处理函数绑定与事件对象