我目前在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