我正在尝试将css文件添加到基本的html文件中(在/ dashboard中与css文件一起)并且它无法正常工作:
@{
ViewBag.Title = "Index";
}
<head>
<link rel="stylesheet" href="~/Views/Dashboard/Dashboard.css" type="text/css" />
</head>
<body>
<h2 id="yes">Index</h2>
<h1>@ViewBag.test</h1>
</body>
我尝试了多种方法,包括将文件添加到contents文件夹,然后添加
@Styles.Render("~/Content/css")
这是语法问题吗?或者缺乏对布局系统如何工作的理解?仍然围绕着asp.net和MVC ......
答案 0 :(得分:1)
在正文标记
的末尾尝试以下操作@section Scripts
{
<link href="~/Content/yourcssname.css" rel="stylesheet" />
}
答案 1 :(得分:1)
您不应该在@section Scripts
下加载CSS。首先加载CSS是有原因的!
例如,请在此处查看Patrick Sexton的以下参考文献:Call CSS First
确保CSS的调用 文件排在第一位,有助于确保浏览器先将其获取。这样可以节省 通过减少网络通话和不让JavaScript活动来节省时间 延迟浏览器获取CSS
如果您想根据.cshtml
文件加载不同的CSS文件,并假设它们都使用相同的_Layout.cshtml
,则可以执行以下操作:
在_Layout.cshtml
HTML标记之间的<head>
上,编写以下代码:
@RenderSection("Stylesheets", required: true)
将其放入您的<head>
标记中将确保它首先被加载!
注意:required: true
部分为可选。
然后,在您的.cshtml
视图中,将其添加到顶部:
@section Stylesheets {
}
然后在其中加载<link>
标签。