Trirand jqGrid ne se présente pas; TypeError: $ (…) .jqGrid n’est pas une fonction

La grid ne s’affiche pas, la console Firefox affiche “TypeError: $ (…). JqGrid n’est pas une fonction”.

ASP.NET MVC 5.2.2 Razor, jQuery 2.1.1, Trirand jqGrid 4.6.0

J’ai vérifié d’autres questions similaires, chaque fois que le problème semble différent et qu’il s’agit d’un problème de syntaxe ou de déclaration d’importation. Les miens semblent aller bien. Tous les scripts référencés sont en place. Envelopper dans l’événement $ (document) .ready () ne fait aucune différence. Appréciez toute aide.

        $(function () { $("#list").jqGrid({ url: "/Email/LoadDraftEmails/", datatype: "json", mtype: "GET", colNames: ["Id", "Subject", "Sender name", "Sender e-mail", "Created", "Last saved"], colModel: [ { name: "ID", width: 50 }, { name: "Subject", width: 200 }, { name: "SenderName", width: 150 }, { name: "SenderEmail", width: 150 }, { name: "DateCreated", width: 150 }, { name: "DateLatestSave", width: 150 } ], pager: "#pager", rowNum: 100, rowList: [10, 20, 30], sortname: "invid", sortorder: "desc", viewrecords: true, gridview: true, autoencode: true, caption: "Draft emails" }); });   

J’imagine que ce que vous avez montré ne représente qu’une petite partie du code HTML obtenu. Peut-être qu’il y a la disposition qui contient d’autres scripts qui se mélangent.

Pour vous assurer que ce n’est pas le cas, désactivez la mise en page temporaire et affichez le balisage complet dans votre vue:

 @{ Layout = null; }             

Cela devrait normalement fonctionner comme prévu. Si tel est le cas, vous devriez alors voir quelles références de script pourraient être mélangées dans votre mise en page et vous assurer que la page rendue ressemblera à celle illustrée ici.