带有JSON的jqGrid是渲染表,但没有MVC项目中的数据

时间:2010-08-15 07:08:58

标签: jquery json jqgrid

我在.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"
    });

1 个答案:

答案 0 :(得分:1)

Relpace

i = a.ActivityId

id = a.ActivityId