これは、MVC 4 Web アプリの jqgrid、バージョン 4.4.1、および IE9/10 の奇妙なハングの問題です (MVC 3 でも発生しました)。
jqgrids を含むページがたくさんありますが、これはすべての問題です。ページは、IE で開発モード (F5 キーを押す) で実行すると正常に動作しますが、Web サーバーから実行するとブラウザーがハングします。これは、Chrome、Safari、または Firefox では問題になりません。
IE JS のエラー表示をオンにすると、次のエラーが継続的に表示され、ブラウザがハングアップします。
メッセージ: 引数が無効です。行: 151 文字: 212 コード: 0 URI: .../Scripts/jquery.jqGrid-4.4.1.min.js
以下は、ぶら下がっているページの 1 つからの jgrid です。
$("#GridQuery").jqGrid({
caption: "Lists",
colNames: [
"ID",
"Select",
"List Name",
"Last Import Date",
"Last Run Date"
],
colModel: [
{ name: "ID", index: "ID",
hidden: true,
sortable: false,
width: 0
},
{ name: "Select", index: "Select",
align: "center",
sortable: false,
width: 10
},
{ name: "ListName", index: "ListName",
sortable: false,
width: 60
},
{ name: "LastImportDate", index: "LastImportDate",
align: "center",
sortable: false,
width: 30
},
{ name: "LastRunDate", index: "LastRunDate",
align: "center",
sortable: false,
width: 30
}
],
altRows: true,
altclass: "altGridRows",
cellEdit: false,
cellsubmit: "clientArray",
datatype: "json",
emptyrecords: "No lists have been defined",
footerrow: false,
gridview: true,
height: "100%",
mtype: "post",
pager: "#GridQueryPager",
rowList: [5, 10, 20],
rowNum: 5,
url: "/App/GetQueryList",
userDataOnFooter: false,
viewrecords: true,
width: 700,
jsonReader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: true,
cell: "cell",
id: "id",
userdata: "userdata"
},
gridComplete: function () {
var idList = $("#GridQuery").jqGrid("getDataIDs");
if (idList) {
for (var iX = 0; iX < idList.length; iX++) {
var id = $("#GridQuery").jqGrid("getCell", idList[iX], "ID");
var checkbox = "<input type='checkbox' id='Check_" + iX + "' />";
$("#GridQuery").jqGrid("setCell", idList[iX], "Select", checkbox);
}
}
}
});