将jQuery代码添加到ASP.NET Boilerplate

时间:2014-11-03 21:30:43

标签: jquery asp.net-mvc

我有一个使用ASP.NET Boilerplate的项目。我想通过使用jQuery添加更多功能。

我尝试在页面末尾(例如Home.cshtml)编写一个简单的代码,例如(下面),它看起来根本没有效果!然后我尝试将此代码放在Home.js文件中,没有任何反应。我还尝试用下面的代码创建一个新的.js文件并将其链接到项目中,正文颜色没有变成红色!

请帮助如何在ASP.NET Boilerplate上编写jQuery。

$(document).ready(function () {
    $('body').css('background', 'red');
});

2 个答案:

答案 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