我在控制器中有以下方法,我从视图中调用它来填充 jqgrid。此方法工作正常并返回数据。
public JsonResult _FirstLook()
{
HttpResponseMessage response;
response = client.GetAsync("api/CasoAdverso").Result;
if (response.IsSuccessStatusCode)
{
IEnumerable<CasoAdverso> list = response.Content.ReadAsAsync<IEnumerable<CasoAdverso>>().Result;
return Json(list);
}
}
如果我调试返回的内容,结构将如下图所示。对象列表在数据中:
我将总结 CasoAdverso 类,因为将它放在这里非常大:
public class CasoAdverso
{
public int CAAD_Id { get; set; }
public string CAAD_Id_Local { get; set; }
public System.DateTime? CAAD_Fecha_Contacto { get; set; }
}
jqgrid 实际上接收要填充的数据,但不知何故没有显示:
$(grid_selector).jqGrid({
datatype: "json",
height: 250,
mType: 'GET',
url: "@Url.Action("_FirstLook", "CasoAdversoForm")",
colNames: ['ID', 'ID Caso', 'Fecha Contacto Notif.'],
colModel: [
{ name: 'CAAD_Id', index: 'CAAD_Id', key: true },
{ name: 'CAAD_ID_Local', index: 'CAAD_ID_Local', width: 60, editable: false },
{ name: 'CAAD_Fecha_Contacto', index: 'CAAD_Fecha_Contacto', width: 90, editable: false, sorttype: "date", unformat: pickDate },
],
...
},
我知道解决方案可能来自 jqgrid 中的 jsonReader,但如果不完全更改控制器中的 _FirstLook 方法,我将无法取得任何进展。
在我的场景中,我需要更改 jqgrid 以绑定我当前从控制器获得的内容。最好不必在控制器中做一些变通方法来为 jqgrid 默认提供他需要的东西。