mvc怎么单独引用css文件,关于asp.net mvc:如何在剃刀视图中引用.css文件?

我知道如何在layout.cshtml文件上设置.css文件,但是在每个视图的基础上应用样式表呢?

我在这里的想法是,在layout.cshtml中,您可以使用标记,但在非布局视图中不能这样做。标签在哪里?

对于在整个站点中重用的CSS,我在_Layout的部分中定义了它们:

@RenderSection("Styles", false)

如果我需要一些视图特定的样式,我在每个视图中定义Styles部分:

@section Styles {

}

编辑:知道@rendersection中的第二个参数false很有用,这意味着在使用此母版页的视图上不需要该节,视图引擎会很高兴地忽略在视图中没有定义"样式"节这一事实。如果为true,则视图将不会呈现,除非定义了"样式"部分,否则将引发错误。

你知道,再想一想,这还不错。我觉得这只是新的和不同的。

另请参见stackoverflow.com/a/4311876/376366

@截面样式——>表示无法解析截面样式,这是什么意思?

@山姆,这意味着你的布局中没有定义这样的部分。

@Darindimitrov有一种方法可以在准确的位置渲染,而不是在标题的末尾。我想为CSS优先级保留一个特定的顺序。

@马克,它是在一个你称为RenderSection的地方呈现的(令人惊讶的是:),而不是在标题的末尾。

_ layout.cshtml是我添加的地方,它起作用了!

我尝试添加这样的块:

@section styles{

}

以及u layout.cshtml文件中的相应块:

@ViewBag.Title

@RenderSection("styles", false);

有效!但我忍不住觉得有更好的办法。更新:在@RenderSection语句中添加了"false",这样当您忽略添加名为head的@section时,您的视图就不会出现splode。

没有更好的方法,尽管我会命名为"Head"部分。

你说得对。称之为"pagestyle"意味着它只是为了这个目的。

如果你这样做,你需要在所有的视图中添加"我的风格",我会选择达林的答案。

对,这就是为什么我在@RenderSection()中加入了错误的论点。抓得好。

使用

@Scripts.Render("~/scripts/myScript.js")

@Styles.Render("~/styles/myStylesheet.css")

可以为你工作。

https://stackoverflow.com/a/36157950/2924015

请不要发布重复答案的链接。相反,考虑其他可以帮助未来用户找到他们需要的答案的操作,如链接帖子中所述。

布局的工作方式与母版页相同。任何布局具有的CSS引用,任何子页都将具有。

顾司各特有一个很好的解释

非常感激。然而,我的问题是,如何设置对单个视图的引用,而不是"主视图"。

我更喜欢使用来自客户端依赖dll的Razor HTML帮助程序

Html.RequireCss("yourfile", 9999); // 9999 is loading priority

您可以在layout.cshtml文件中使用此结构

这如何允许我有选择地为每个视图应用样式表?

您还可以向每个部分添加一个类或ID,并且在头中可以有类似mofidul所提到的样式。我要做的是使用SASS,所以每个视图都有一个单独的类容器。通过这种方式,我为每个部分创建了SASS页面,最后这些页面更加结构化和有组织。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值