我在.Net MVC项目中使用JSON设置了jqGrid。网格正在退出,但数据没有出现。我不确定问题是什么。非常感谢任何帮助。
我的控制器中有以下代码。 jsonData确实被填充并传递给我的索引。在单步执行代码时,我可以看到jsonData有1行,其中Cell Index 0,1,2,3,4填充了数据。我不确定为什么这些数据没有传递到我的索引页面上的javascript并显示在网格中。
我抓住了这个网站上的例子:http://www.schnieds.com/2010/01/gridview-in-aspnet-mvc.html
var jsonData = new
{
total = totalPages,
page = page,
records = totalRecords,
rows = (
from a in activities
select new
{
i = a.ActivityId,
cell = new string[] {
a.ActivityId.ToString(),
a.Date.ToString(),
a.Person.Name.ToString(),
a.ActivityName.ToString(),
a.Hours.ToString()
}
}).ToArray()
};
// Return the result in json
return Json(jsonData);
我的索引页面中的javascript代码如下所示:
var gridimgpath = '/Scripts/jqgrid/themes/redmond/images';
var gridDataUrl = '/Home/JsonActivitiesCollection';
// use date.js to calculate the values for this month
var startDate = Date.parse('today').moveToFirstDayOfMonth();
var endDate = Date.parse('today');
jQuery("#list").jqGrid({
url: gridDataUrl + '?startDate=' + startDate.toJSONString() + '&endDate=' + endDate.toJSONString(),
datatype: "json",
mtype: 'GET',
colNames: ['Activity Id', 'Date', 'Employee Name', 'Activity', 'Hours'],
colModel: [
{ name: 'ActivityId', index: 'ActivityId', width: 100, align: 'left' },
{ name: 'Date', index: 'Date', width: 100, align: 'left' },
{ name: 'Person.Name', index: 'Person.Name', width: 100, align: 'left' },
{ name: 'ActivityName', index: 'ActivityName', width: 100, align: 'left' },
{ name: 'Hours', index: 'Hours', width: 100, align: 'left' }
],
rowNum: 20,
rowList: [10, 20, 30],
imgpath: gridimgpath,
height: 'auto',
width: '700',
pager: jQuery('#pager'),
sortname: 'ActivityId',
viewrecords: true,
sortorder: "desc",
caption: "Activities"
});
答案 0 :(得分:1)
Relpace
i = a.ActivityId
与
id = a.ActivityId