我目前在asp.net mvc網站上使用jqgrid,並且我們有一個非常慢的網絡(內部應用程序),它似乎正在採取網格需要很長時間才能加載(問題是網絡以及解析,渲染)什麼是在asp.net-mvc網站上優化我的json的最佳方式
我想確定如何最小化我發送到客戶端的速度以儘可能快地完成。
這裏是我的控制器操作將數據加載到網格的簡化視圖:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GridData1(GridData args)
{
var paginatedData = applications.GridPaginate(args.page ?? 1, args.rows ?? 10,
i => new
{
i.Id,
Name = "<div class='showDescription' id= '" + i.id+ "'>" + i.Name + "</div>",
MyValue = GetImageUrl(_map, i.value, "star"),
ExternalId = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>",
Url.Action("Link", "Order", new { id = i.id }), i.Id),
i.Target,
i.Owner,
EndDate = i.EndDate,
Updated = "<div class='showView' aitId= '" + i.AitId + "'>" + GetImage(i.EndDateColumn, "star") + "</div>",
})
return Json(paginatedData);
}
所以我建立了一個JSON(我有大約200條以上),併發送回放入jqgrid的GUI。
我可以做的一件事是重複的數據。在一些json字段中,我在原始「數據」之上附加了HTML。這是每個記錄上的相同HTML。看起來如果我可以發送數據並在客戶端「附加」HTML,效率會更高。這可能嗎?然後,我只是通過電線發送實際數據,並將客戶端添加到HTML標籤(divs等)的其餘部分。
此外,如果有任何其他建議我如何最大限度地減少我的郵件的大小,那就太好了。我想在某些時候這些解決方案會增加客戶端的負載,但它可能是值得的,以減少網絡流量。
你能在你的問題的描述包括您目前使用的jqGrid的定義,您當前用來發送JSON數據的示例從服務器(至少有一兩行)。 – Oleg 2010-06-13 17:18:53