今天用easyui的datagrid来加载数据,不是很顺利,根据捕捉的HTTP通信记录以及对easyui的跟踪发现加载数据需要满足下列几个要求:
1、datagrid通过url获取的必须是json格式的对象,不能是json字符串。
通过Fidder工具截获的数据必须是如下格式:
{"total":1,"rows":[{"CouponSupplyId":280002,"ReceivedCount":0,"IsValid":1}]}
不能是如下的字符串格式:
"{\"total\":1,\"rows\":[{\"CouponSupplyId\":280002,\"ReceivedCount\":0,\"IsValid\":1}]}"
2、对象必须只有两个元素:total和rows,而且这两个必须全小写。其中,total表示记录总数,rows表示对象集合。
基于C#的MVC框架,在Controller代码中可以使用Controller.Json来将对象转换成Json对象传递到客户端,例如:
public ActionResult QueryCouponSupplies() { int pageSize = int.Parse(Request.Form["rows"].ToString().Trim()); int pageIndex = int.Parse(Request.Form["page"].ToString().Trim()); Hashtable hashtable = new Hashtable(); hashtable["sessionId"] = ""; hashtable["onlyValid"] = 0; hashtable["pageSize"] = pageSize; hashtable["pageIndex"] = pageIndex; string json = JsonHelper.Serialize(hashtable); string retJson = HttpHelper.PostForJson("http://localhost/vme", "CouponService.svc", "QueryCouponSupplies", json); string jsonResult = JsonHelper.GetString(retJson); EasyUIGridResult<List<CouponSupply>> results = JsonHelper.DeserializeObject<EasyUIGridResult<List<CouponSupply>>>(jsonResult); return Json(results, JsonRequestBehavior.AllowGet); }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-05 22:05:43