我在尝试在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。
由于
答案 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 的使用。
@Scripts.Render("~/bundles/bootstrap")
&#13;
对我来说,我删除了_Layout.cshtml下的Bootstrap包,jqGrid在IE 10中运行。另外我在Chrome和Firefox上测试了这个,jqgrid可以在这个配置下工作。
@*@Scripts.Render("~/bundles/bootstrap")*@
&#13;
答案 2 :(得分:0)
如果在同时具有JQuery和JQGrid引用的同时,在任何版本的MVC上均收到此错误消息,请检查以确保没有重复的JQuery。就我而言,我在index.cshtml和_Layout.cshtml上都有JQuery参考。在这种情况下,从index.cshtml删除引用将解决此问题。