我得到了global.css'在我的布局'中引用了通过@Url.Content(path_to_css_file)
。然后我想要我的一些观点来包含他们自己的* .css。实现这一目标的正确方法是什么?我已经尝试了<style></style>
每个视图,但这似乎与最佳解决方案相距甚远,不是吗?
答案 0 :(得分:0)
除了您的布局页面之外,我建议您使用ViewBag添加您的视图。
添加如下内容:
@if (ViewBag.LayoutStyle != null)
{
<link href="@ViewBag.LayoutStyle" rel="stylesheet"/>
}
在global.css之后的布局文件中以及要在全局样式后添加第二个css文件的视图中,只需将ViewBag.LayoutStyle
值设置为css文件的URL。
通过这种方式,您将有机会使用全局css文件,并根据您正在加载的视图,您可以根据您的视图加载覆盖全局css的不同css文件。
答案 1 :(得分:-1)
最好的方法是使用bundle来引用样式和脚本。 所以在App_Start文件夹中的BundleConfig类中添加:
alert("Hello! I am an alert box!!");
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(150)
.height(200);
};
reader.readAsDataURL(input.files[0]);
}
}
然后在你的_Layout.cshtml bundles.Add(new StyleBundle("~/Content/myglobalcss").Include(
"~/Content/global.css"
));
bundles.Add(new StyleBundle("~/Content/mylocalcss").Include(
"~/Content/local.css"
));
标签中写下这一行:
<head>
例如在Index.cshtml视图中添加此行
@Styles.Render("~/Content/myglobalcss")
将在索引视图中专门呈现local.css。实际上,你可以在每个包中引用多个* .css文件,并在你需要的时候使用它们。