asp.net mvc4 jquery无法正常工作

时间:2012-08-29 08:33:02

标签: jquery asp.net-mvc razor

我正在尝试运行一个jquery代码,该代码放在我的 _Layout.cshtml 中,如下所示:

...............
<script type='text/javascript'>
$(document).ready(function () {
   alert('Test');

});
</script>
  @Scripts.Render("~/bundles/jquery")
  @RenderSection("Scripts", required: false) 
</body>
</html>

以上代码未被触发,当我使用Chrome Dev进行检查时,显示 $未定义(我可以看到我的所有jquery,jquery ui文件都已加载)

如果我把这段代码放在外部的js文件中

我不介意将所有jquery代码放在外部文件中,但我真的想澄清我做错了什么。

3 个答案:

答案 0 :(得分:24)

您需要在脚本之前引入jquery。

@Scripts.Render("~/bundles/jquery")

<script type='text/javascript'>
$(document).ready(function () {
   alert('Test');

});
</script>

  @RenderSection("Scripts", required: false) 
</body>
</html>

答案 1 :(得分:8)

Andreas,我有同样的问题..默认情况下,“_layout.cshtml”在文档的末尾有“@ Scripts.Render(”〜/ bundles / jquery“)”,但它不起作用。我将它剪下并粘贴在头部,现在它正在工作。

答案 2 :(得分:7)

为了使jQuery正常工作,您的脚本应该在<script src="/Scripts/jquery-2.0.3.js"></script>

之后

在_Layout.cshtml中,就在</body>标记之前,您可以找到类似的内容

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)

首先你有jQuery库。然后你有任何脚本。这就是这意味着什么。所以在你的观点中做这样的事情。

@section scripts{
 //your script
}

这将确保所有脚本都在jQuery引用下。