0

脚本:

jQuery("#grid_table").jqGrid({
        url: '@Url.Action("GetAll", "Widget")',
        datatype: "json",
        mtype: 'GET',
        colNames: ['id', 'name'],
        colModel: [
            { name: 'id', index: 'id', width: 55, sortable: true, editable: false, editoptions: { readonly: true, size: 10} },
            { name: 'name', index: 'name', width: 200, editable: true }
       ],
        jsonReader: {
            root: "rows",
            page: "page",
            total: "total",
            records: "records",
            repeatitems: false,
            id: "id",
            userdata: "userdata"
        },
        rowNum: 10,
        rowList: [10, 20, 30],
        pager: jQuery('#gridpager'),
        sortname: 'name',
        viewrecords: true,
        sortorder: "asc",
        caption: "Wines"
    }).navGrid('#gridpager');

控制器:

public ActionResult GetAll()
    {
        List<object> list = new List<object>();

        for (int i = 0; i < 20; i++)
        {
            var o = new
            {
                id = i.ToString(),
                name = "name " + i.ToString()
            };
            list.Add(o);
        }

        var result = new
        {
            page = "1",
            total = "1",
            records = "10",
            rows = list.ToArray()
        };

        string Jlist = Newtonsoft.Json.JsonConvert.SerializeObject(result);

        return Json(Jlist, JsonRequestBehavior.AllowGet);
    }

json输出:

在此处输入图像描述

和消息:没有找到记录!

我的代码有什么问题?

谢谢。

4

2 回答 2

0

我认为您的 json 阅读器中提到的“userdata”不在您的 json 中。

所以请在您的用户数据字段中传递一些空值或任何值。

于 2012-11-16T11:44:37.953 回答
0

问题是这一行:

string Jlist = Newtonsoft.Json.JsonConvert.SerializeObject(result);

我删除了序列化线,然后它就可以工作了。谢谢您的回复。

于 2012-11-16T12:09:53.883 回答