'jQuery'未定义错误 - 未识别

时间:2016-12-28 13:34:37

标签: jquery asp.net-mvc

_Layout.cshtml包含:

在标题中

@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")

页脚

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

在View Code中添加:

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

并且未显示任何警告消息。脚本调用有问题吗?

4 个答案:

答案 0 :(得分:2)

好吧,试试:

在标题中

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

页脚

{{1}}

答案 1 :(得分:1)

当您尝试在页面中包含jQuery之前使用jQuery时,通常会发生此错误。

确保视图中的javascript代码位于scripts部分

@section scripts
{
   <script type="text/javascript">
    $(document).ready(function () {
        alert('hello');
    });
   </script>
}

假设您在布局 加载jQuery库

之后对此部分进行了RenderSection方法调用
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)

当razor执行该页面时,它会使用视图的RenderSection部分中定义的javascript代码替换脚本scripts调用。

答案 2 :(得分:1)

在jQuery脚本下验证您的代码。或者将脚本移动到标题部分。

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

您的代码应该在jQuery脚本之下。

$(document).ready(function () {
    alert('hello');
});

答案 3 :(得分:1)

检查您的bundleconfig.cs是否包含以下内容..

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                "~/Scripts/jquery-{version}.js"));

确保您的jquery位于Scripts文件夹中。

首先尝试在标题中使用jquery。