簡體   English   中英

在MVC部分中使用Document.Ready

[英]Using Document.Ready in an MVC Partial

我正在嘗試使用MVC Partial來呈現JavaScript網格。 為此,我必須加載並利用jQuery。 但是,我不斷收到以下錯誤:

$未定義

這應該很簡單...但顯然...並非如此。

部分外觀類似:

<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)

這里有兩件事可以幫助您解決問題。

  1. 確保您對jQuery文件的引用正確。 多數情況下,您可能會遇到問題。

  2. 永遠不要將JavaScript放在局部視圖中。 將它們放在父視圖中被調用的局部視圖之前。

如果要在Partial視圖之后通過腳本加載jquery,則將嘗試在加載和定義jquery變量之前運行它們。 確保在頁面請求並加載jquery本身之后運行了您運行的所有jquery(無論是否為內聯)。

請參閱: 在加載jQuery之前可以內聯編寫jQuery代碼嗎?

我將給出更多為什么您不應該在局部視圖中使用javascript的原因。 如果您多次使用Partial,則可能會重復使用JavaScript。 這可能意味着重新定義了變量,多次添加了事件偵聽器,等等,從而導致一些令人困惑的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM