我正在尝试使用MVC Partial来呈现JavaScript网格。要做到这一点,我必须加载&利用jQuery。但是,我一直收到以下错误:
$未定义
这应该很简单......但显然......事实并非如此。
PARTIAL LOOKS LIKE:
<h2>Inside the Partial</h2>
<div id="grid"></div>
<script type="text/javascript" defer>
// ERROR: $ is not defined
$(document).ready(function () {
// Awesome JavaScript Grid Stuff Will Go Here
});
</script>
观看次数:
@using Web.Areas.Administration.ViewModels
@model LookupsViewModel
<h1>View Title</h1>
@Html.Partial(Model.PartialPath, Model.PartialModel)
答案 0 :(得分:1)
以下两个主要内容可以帮助您解决问题。
确保您对jQuery文件的引用是正确的。大多数人都可能遇到问题。
不要将JavaScripts放在部分视图中。将它们放在父视图中,然后在调用它的部分视图之前。
答案 1 :(得分:0)
如果您在部分视图之后通过脚本加载jquery,您将尝试在加载和定义之前运行jquery变量。确保在页面请求并加载jquery之后运行您运行的任何jquery(无论是否内联)。
请参阅:Can you write jQuery code inline before loading jQuery?
我会更多地说明为什么你不应该在你的部分视图中放置javascript。如果您不止一次使用Partial,则可能会重复使用javascript。这可能意味着重新定义变量,不止一次添加eventlisteners等,从而导致一些令人困惑的错误。