2011-08-05 174 views
0

我正在通过MVC 3 AJAX渲染另一个视图中的部分视图。但渲染速度很慢。对于1350条记录大约需要5-8秒。我检查了我的数据&业务层,并没有发现任何问题。当部分表格被插入到主视图中时,问题似乎就会出现。我正在使用Razor作为视图。 有什么建议吗?部分视图的缓慢渲染

+1

你有没有尝试过返回JSON而不是视图,并通过json循环来代替,也许使用jquery模板?如果问题是呈现,那么我总是发现JSON是最通用的。 – davethecoder

+0

@ minus4:您是否建议我在控制器中创建jason对象,然后将其返回以查看并解析它以形成视图? – Vipul

+1

我说,如果你使用AJAX,它真的很简单,容易,只是带回HTML,但它也很容易使用JSON和更少的问题,没有部分视图等需要我不能想到你的网页会慢的原因渲染我也在几个网站上使用jquery模板,我得到一个请求的jQuery模板,然后用json数据填充它。无论哪种方式它的一个选项你的行动将是一个公共的JsonResult而不是行动的结果,你返回Json(模型); – davethecoder

回答

1

我发现“痛苦缓慢”的部分来自推送到客户端的数据量,而不是1350条记录,正如您找到的那样。考虑使用技术来最大限度地减少通过线路和底层HTML传递的数据量。 JSON可以通过使用AJAX和使用JavaScript库通过JavaScript构建UI来提供帮助。或者,而不是JSON,只是对局部视图进行AJAX请求,并异步渲染局部视图,这也会给用户更丰富的感觉;他们可以访问该页面,但必须等待1350结果。

HTH。

+0

感谢您的建议。第二种方法可能没有用,因为屏幕用于搜索和提取数据库中的记录。结果集将通过AJAX显示,而无需刷新/回发整个页面。 我想我必须尝试第一个建议。 我是JSON的新手。任何教程将帮助... – Vipul

+0

教程取决于你想要使用的框架,你也使用JQuery,还是直MS AJAX? –

+0

截至目前,它是MVC中的AJAX。但如果我使用JSON,我认为JQuery将是更好的选择。 – Vipul