C# jqgrid mvc json格式?

C# jqgrid mvc json格式?,c#,asp.net-mvc,json,jqgrid,C#,Asp.net Mvc,Json,Jqgrid,脚本: 控制器: jQuery("#grid_table").jqGrid({ url: '@Url.Action("GetAll", "Widget")', datatype: "json", mtype: 'GET', colNames: ['id', 'name'], colModel: [ { name: 'id', index: 'id', width: 55, sortable:

脚本:

控制器:

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()
{
列表=新列表();
对于(int i=0;i<20;i++)
{
var o=新
{
id=i.ToString(),
name=“name”+i.ToString()
};
列表。添加(o);
}
var结果=新
{
page=“1”,
total=“1”,
records=“10”,
rows=list.ToArray()
};
字符串Jlist=Newtonsoft.Json.JsonConvert.SerializeObject(结果);
返回Json(Jlist,JsonRequestBehavior.AllowGet);
}
Json输出:

和消息:未找到任何记录

我的代码有什么问题


谢谢。

我认为,正如您的json阅读器中提到的那样,json中没有“userdata”

因此,请在userdata字段中传递一些空值或任何值。

问题在于这行:

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);
    }
我删除了系列化行,然后它就工作了。谢谢你的回复

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