1

これは、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);
            }
        }
    }
});
4

1 に答える 1