我正在尝试使用 json 数据填充 jquery 网格:
public ActionResult DataHandler()
{
List<Employee> employees = EmployeeRepository.GetEmployees();
return Json(new
{
employees
},
JsonRequestBehavior.AllowGet);
}
我的客户端代码:
$(document).ready(function () {
alert("Code Fired!");
var source =
{
url: '@Url.Action("DataHandler", "Home")',
datatype: "json",
datafields: [{ name: "FirstName" }, { name: "LastName" }, { name: "Product" }, { name: "Price", type: "float" }, { name: "Quantity", type: "int" }, { name: "Total", type: "float"}]
};
var dataAdapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid(
{
source: dataAdapter,
columns: [
{ text: 'First Name', dataField: 'FirstName', width: 100 },
{ text: 'Last Name', dataField: 'LastName', width: 100 },
{ text: 'Product', dataField: 'Product', width: 180 },
{ text: 'Quantity', dataField: 'Quantity', width: 80, cellsalign: 'right' },
{ text: 'Unit Price', dataField: 'Price', width: 90, cellsalign: 'right', cellsformat: 'c2' },
{ text: 'Total', dataField: 'Total', cellsalign: 'right', minwidth: 100, cellsformat: 'c2' }
]
});
});
这是我的观点:
@{
ViewBag.Title = "DataHandler";
}
@section scripts
{
@Content.Script("GetGridData.js",Url)
}
<h2>DataHandler</h2>
<div id="jqxgrid"></div>
如果我有这样的代码设置,它会将填充的 JSON 数据返回给浏览器,永远不会触发 iquery 代码如果我有控制器,只需返回 View(); 我可以看到 jquery 代码至少会触发。
如何设置页面以从控制器代码中处理我的 json 数据并将其显示在网格中?