我正在尝试运行一个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代码放在外部文件中,但我真的想澄清我做错了什么。
答案 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引用下。