asp-mvc には、これを含む部分ビューがあります。
<table id="grid">
</table>
<div id="pager1">
</div>
<script language="javascript" type="text/javascript">
$('#grid').jqGrid({
url: '/Employee/JsonEmployee',
datatype: 'json',
mtype: 'GET',
colNames: ['NUMBER', 'NAME', 'ROLE', 'OPERATIONS'],
colModel: [
{ name: 'NUMBER', index: 'number', width: 200, sortable: false, align: 'center' },
{ name: 'NAME', index: 'name', width: 300, sortable: false, align: 'center' },
{ name: 'ROLE', index: 'role', width: 200, sortable: false, search: false, align: 'center' },
{ name: 'OPERATIONS', index: 'operation', width: 200, sortable: false, search: false, align: 'center'}],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager1',
sortname: 'number',
viewrecords: true,
sortorder: "desc",
height: "100%",
caption: "EMPLOYEES"
});
jQuery("#grid").jqGrid('navGrid', '#pager1', { del: false, add: false, edit: false }, {}, {}, {}, { width: 600 });
</script>
正常に動作していますが、ビューの下部にあるスクリプトを削除し、Scripts フォルダーの javascript(.js) ファイルに配置することにしました: Local.js
function () {
$('#grid').jqGrid({
url: '/Employee/JsonEmployee',
datatype: 'json',
mtype: 'GET',
colNames: ['NUMBER', 'NAME', 'ROLE', 'OPERATIONS'],
colModel: [
{ name: 'NUMBER', index: 'number', width: 200, sortable: false, align: 'center' },
{ name: 'NAME', index: 'name', width: 300, sortable: false, align: 'center' },
{ name: 'ROLE', index: 'role', width: 200, sortable: false, search: false, align: 'center' },
{ name: 'OPERATIONS', index: 'operation', width: 200, sortable: false, search: false, align: 'center'}],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager1',
sortname: 'number',
viewrecords: true,
sortorder: "desc",
height: "100%",
caption: "EMPLOYEES"
});
jQuery("#grid").jqGrid('navGrid', '#pager1', { del: false, add: false, edit: false }, {}, {}, {}, { width: 600 });
};
_Layout.cshtml でスクリプト ファイルを呼び出しました。
<head>
<meta charset="utf-8" />
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/themes/base/css")" rel="stylesheet" type="text/css" />
<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>
<script src="@Url.Content("~/Scripts/i18n/grid.locale-en.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/Local.js")" type="text/javascript"></script>
<meta name="viewport" content="width=device-width" />
</head>
Web アプリを実行すると、うまく機能しなくなりました... jqGrid が表示されなくなりました...どこに問題があるのでしょうか?