在MVC Partial中使用Document.Ready

时间:2017-06-18 22:51:21

标签: c# asp.net-mvc

我正在尝试使用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)

2 个答案:

答案 0 :(得分:1)

以下两个主要内容可以帮助您解决问题。

  1. 确保您对jQuery文件的引用是正确的。大多数人都可能遇到问题。

  2. 不要将JavaScripts放在部分视图中。将它们放在父视图中,然后在调用它的部分视图之前。

答案 1 :(得分:0)

如果您在部分视图之后通过脚本加载jquery,您将尝试在加载和定义之前运行jquery变量。确保在页面请求并加载jquery之后运行您运行的任何jquery(无论是否内联)。

请参阅:Can you write jQuery code inline before loading jQuery?

我会更多地说明为什么你不应该在你的部分视图中放置javascript。如果您不止一次使用Partial,则可能会重复使用javascript。这可能意味着重新定义变量,不止一次添加eventlisteners等,从而导致一些令人困惑的错误。