我不想在一些布局中添加大量的JS,我需要为某些特定页面执行此操作,我的意思是将一些JS包含在其标题中。
我已经尝试过这样但它不能正常工作。
@{
Layout = "~/Views/Shared/_LayoutInner.cshtml";
@Scripts.Render("~/Scripts/farbtastic/farbtastic.js")
@Styles.Render("~/Scripts/farbtastic/farbtastic.css")
@Scripts.Render("~/Scripts/jquery.tinycarousel.min.js")
@Scripts.Render("~/Scripts/jquery-ui-1.8.11.min.js")
}
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
$('#slider1').tinycarousel();
$("#accordion").accordion();
$('#picker').farbtastic('#color');
});
</script>
我试过那样的
@{
Layout = "~/Views/Shared/_LayoutInner.cshtml";
<script type="text/javascript" src="@Url.Content("~/Scripts/farbtastic/farbtastic.js")"></script>
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinycarousel.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script>
}
并没有成功。
我如何存档?
答案 0 :(得分:12)
我确信你的_LayoutInner.cshtml
你应该像这样提到JS文件
<head>
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script>
</head>
要实现目标,您必须在_LayoutInner.cshtml
页面部分添加两个命名部分,如下所示 -
<head>
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script>
@RenderSection("JavaScript", required: false)
@RenderSection("CSS", required: false)
</head>
现在在您的其他页面中包含额外的javascript或css页面使用这些命名的部分
@section JavaScript
{
<script type="text/javascript"src="@Url.Content("~/Scripts/farbtastic/farbtastic.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinycarousel.min.js")"></script>
}
@section CSS
{
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
}
是否要为javascript和css包含不同的命名部分。
希望它有所帮助!