JavaScript运行时错误:对象不支持属性或方法'jqGrid'

时间:2014-01-28 16:16:54

标签: jquery jqgrid

我在尝试在ASP.net MVC 4中实现Jqgrid时遇到了一些问题。网格和其他Jquery函数它们在Firefox和Google Chrome中不起作用。 在IE 11中,所有Jquery ajax调用都能正常工作,但是Jqgrid不起作用,我在标题上得到了错误。 我的代码是这样的:

@{
ViewBag.Title = "Reserva de Turno";
<link href="~/Content/ui.jqgrid.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.9.0.min.js"></script>
<script src="~/Scripts/jquery.jqGrid.min.js"></script>
}


<script>
$(document).ready(function () {
    alert("Funciona");
    jQuery("#list").jqGrid({
        url: "/Turno/ListarTurnosDisponibles",
        datatype: "json",
        mtype: "GET",
        colNames: ['Fecha', 'Hora'],
        colModel: [
          { name: 'Fecha', index: 'Fecha', width: 40, align: 'left' },
          { name: 'Hora', index: 'Hora', width: 40, align: 'left' }],
        pager: $("#pager"),
        rowNum: 10,
        rowList: [5, 10, 20, 50],
        sortname: "Fecha",
        sortorder: "desc",
        viewrecords: true,
        imgpath: "~/Content/jquery.jqGrid/ui.jqgrid.css",
        caption: "Turnos disponibles"
    });
});
</script>

<h2>Reserva de Turno</h2>
<br />
<fieldset>Datos del medico</fieldset>

<br />

<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="pager" class="scroll" style="text-align:center;"></div>

我不知道如何使用firebug或任何工具进行调试js。

由于

3 个答案:

答案 0 :(得分:2)

在网上冲浪和许多测试之后,我发现了这个问题。问题在于捆绑配置。 Bundles使用其他版本的Jquery脚本。评论线条修复了问题

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
          "~/Scripts/jquery-ui-{version}.js"));

答案 1 :(得分:0)

此问题的另一个来源是 Bootstrap bundle 的使用。

&#13;
&#13;
    @Scripts.Render("~/bundles/bootstrap")
&#13;
&#13;
&#13;

对我来说,我删除了_Layout.cshtml下的Bootstrap包,jqGrid在IE 10中运行。另外我在Chrome和Firefox上测试了这个,jqgrid可以在这个配置下工作。

&#13;
&#13;
    @*@Scripts.Render("~/bundles/bootstrap")*@
&#13;
&#13;
&#13;

答案 2 :(得分:0)

如果在同时具有JQuery和JQGrid引用的同时,在任何版本的MVC上均收到此错误消息,请检查以确保没有重复的JQuery。就我而言,我在index.cshtml和_Layout.cshtml上都有JQuery参考。在这种情况下,从index.cshtml删除引用将解决此问题。