在jqGrid中数据没有绑定,显示空白网格

时间:2016-09-07 04:56:46

标签: jquery asp.net-mvc jqgrid

<script type="text/javascript">
$(document).ready(function () {

        $("#list").jqGrid({
            url: 'SampleController/jqGrid1',
            datatype: "json",
            mtype: 'GET',
            colNames: ['Id', 'Name', 'Mobile', 'Email', 'City', 'State', 'Gender'],
            colModel: [{ name: 'Id', index: 'Id', width: 100 },
                { name: 'Name', index: 'Name', width: 100 },
                { name: 'Mobile', index: 'Mobile', width: 100 },
                { name: 'Email', index: 'Email', width: 100 },
                { name: 'City', index: 'City', width: 100 },
                 { name: 'State', index: 'State', width: 100 },
                { name: 'Gender', index: 'Gender', width: 100 }
            ],
            sortname: 'Id',
            rowNum: 10,
            loadonce: true,
            viewrecords: true,
            caption: 'List of Students',
            scrollOffset: 0,
            gridview: true,
            autoencode:true
        });

    });

              控制器代码:

    public JsonResult jqGrid1()
    {
         return Json(objDB.SelectALL(), JsonRequestBehavior.AllowGet);
    }

objDB.SelectAll()返回一个List 有没有错误请告知。当我调试代码时,它没有调用样本控制器的方法jqGrid1()

1 个答案:

答案 0 :(得分:0)

改变这个:

url: 'SampleController/jqGrid1',

url: '/Sample/jqGrid1',

OR 使用Url.Action帮助器方法为action方法生成正确的相对url。

url: '@Url.Action("jqGrid1","Sample")',

当razor执行您的视图代码时,它将运行Url.Action方法并输出正确的URL(如果需要,将具有控制器名称)。

修改
根据评论jqGrid数据没有绑定,显示空白网格 您必须使用必要的参数以适当的格式返回JSON数据。

对于前。

return Json(new{
                 total = 1,
                 page = 1,
                 records = yourCount, // actual data count
                 rows = objDB.SelectALL()// actual data
              });