我有一个使用ASP.NET Boilerplate的项目。我想通过使用jQuery添加更多功能。
我尝试在页面末尾(例如Home.cshtml)编写一个简单的代码,例如(下面),它看起来根本没有效果!然后我尝试将此代码放在Home.js文件中,没有任何反应。我还尝试用下面的代码创建一个新的.js文件并将其链接到项目中,正文颜色没有变成红色!
请帮助如何在ASP.NET Boilerplate上编写jQuery。
$(document).ready(function () {
$('body').css('background', 'red');
});
答案 0 :(得分:0)
这是正确执行的过程;检查以下文件中的@RenderSection
和@section
_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<!-- .removed.for.brevity. -->
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<!-- .removed.nav.bar.for.brevity. -->
<div class="container body-content">
@RenderBody()
<hr />
<!-- .removed.footer.for.brevity. -->
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
<!-- .below script section will render from view cshtml. -->
@RenderSection("scripts", required: false)
</body>
</html>
view.cshtml
<!-- All your view html -->
@section Scripts {
<script>
$(function () {
$('body').css('background', 'red');
});
</script>
}
答案 1 :(得分:0)
做其他人所说的,但使用
<script>
$(document).ready(function () {
$('body').css('background-color', 'red');
});
</script>
此外,aspnet样板文件不使用bundle或
@RenderSection("scripts", required: false)
在它的布局中。
jquery在布局中链接,因此您必须使用布局。默认的_ViewStart.cshtml将_Layout.cshtml定义为布局。
要从cshtml页面(视图)中获取脚本部分中的javascript以进行渲染,您必须添加
@RenderSection("scripts", required: false)
到_Layout.cshtml