jQuery 渲染局部视图时未定义错误
jQuery is not defined error when rendering partial view
我有一个 _layout.cshmtl
,其中包含以下内容(非常简单):
<head>
<partial name="_Styles" />
</head>
<body>
@RenderBody()
<partial name="_Scripts" />
</body>
_scripts.cshtml
文件如下:
<script src="~/plugins/jquery/jquery.min.js"></script>
<script src="~/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
然后我有一个使用 jsgrid
的局部视图,所以我有:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<link type="text/css" rel="stylesheet" href="~/plugins/jsgrid/jsgrid.min.css" />
<link type="text/css" rel="stylesheet" href="~/plugins/jsgrid/jsgrid-theme.min.css" />
<section>stuff here...</section>
<script src="~/plugins/jsgrid/jsgrid.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function () { //code here... });
</script>
有了上面的内容,我得到了以下错误:
jsgrid.min.js:7 Uncaught ReferenceError: jQuery is not defined
at jsgrid.min.js:7
MyView:104 Uncaught ReferenceError: jQuery is not defined
at MyView:104
那么我如何才能准确确保父视图的脚本已加载 before/during 局部视图?
在使用JQuery方法或JSGrid plufin之前,我们应该添加JQuery引用。因此,JQuery 引用应该在 jsGrid 之前加载。
尝试修改您的代码如下(_layout.cshmtl中的代码,请检查文件路径,确保其正确):
<body>
<partial name="_scripts.cshtml" />
@RenderBody()
</body>
或使用以下代码:
<body>
<script src="~/plugins/jquery/jquery.min.js"></script>
<script src="~/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
@RenderBody()
<partial name="_scripts.cshtml" />
</body>
我有一个 _layout.cshmtl
,其中包含以下内容(非常简单):
<head>
<partial name="_Styles" />
</head>
<body>
@RenderBody()
<partial name="_Scripts" />
</body>
_scripts.cshtml
文件如下:
<script src="~/plugins/jquery/jquery.min.js"></script>
<script src="~/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
然后我有一个使用 jsgrid
的局部视图,所以我有:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<link type="text/css" rel="stylesheet" href="~/plugins/jsgrid/jsgrid.min.css" />
<link type="text/css" rel="stylesheet" href="~/plugins/jsgrid/jsgrid-theme.min.css" />
<section>stuff here...</section>
<script src="~/plugins/jsgrid/jsgrid.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function () { //code here... });
</script>
有了上面的内容,我得到了以下错误:
jsgrid.min.js:7 Uncaught ReferenceError: jQuery is not defined at jsgrid.min.js:7
MyView:104 Uncaught ReferenceError: jQuery is not defined at MyView:104
那么我如何才能准确确保父视图的脚本已加载 before/during 局部视图?
在使用JQuery方法或JSGrid plufin之前,我们应该添加JQuery引用。因此,JQuery 引用应该在 jsGrid 之前加载。
尝试修改您的代码如下(_layout.cshmtl中的代码,请检查文件路径,确保其正确):
<body>
<partial name="_scripts.cshtml" />
@RenderBody()
</body>
或使用以下代码:
<body>
<script src="~/plugins/jquery/jquery.min.js"></script>
<script src="~/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
@RenderBody()
<partial name="_scripts.cshtml" />
</body>