【问题标题】:ASP.NET MVC / JqGrid : Is the JSON Id processed and recoverable?ASP.NET MVC / JqGrid:JSON Id 是否已处理和可恢复?
【发布时间】:2011-08-18 13:09:55
【问题描述】:

我在多选模式下使用 JqGrid 并恢复用户的选择。 JqG​​rid 定义如下:

$("#StatusList").jqGrid({
         url: '@Url.Action("UpdateStatusList", "Inventory")',
         datatype: 'json',
         mtype: 'GET',
         colNames: ['Status', 'statusId'],
         colModel: [
          { name: 'Status', index: 'Status', align: 'left', sortable: false },
          { name: 'statusId', index: 'statusId', hidden: true}]
});

我对服务器和客户端之间的所有通信都没有任何问题。一切正常。但我觉得我在用这个发送 JSON 数据的函数填充 JqGrid 时正在复制数据:

  public ActionResult UpdateStatusList()
  {
     var jsonData = new
     {
        rows = (from status in DatabaseInMemory.WoodStatus.GetEntities()
                select new
                {
                   i = status.ID,
                   cell = new string[] { status.Name,
                              status.ID.ToString() }
                }).ToArray()
     };
     return Json(jsonData, JsonRequestBehavior.AllowGet);
  }

如您所见,id 被传递了两次: - 对于 JSON ID。 - 对于帮助我从网格中恢复 id 的隐藏列。

返回客户端,JSON Id 没有保存在 selrrrow 属性中。此属性根据网格中的位置保存 id。我正在使用它来获取选定的数据,并恢复真实的 id。

JqGrid 是处理并保存通过 JSON 数据传递的 id,还是丢失并且总是需要隐藏列来跟踪行?

【问题讨论】:

    标签: c# javascript json asp.net-mvc-3 jqgrid


    【解决方案1】:

    您应该将i = status.ID 更改为id = status.ID

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2021-09-01
    • 2010-11-10
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多