通过ajax从控制器操作返回局部视图

时间:2014-01-10 03:09:22

标签: asp.net-mvc

.NET MVC项目。它可能看起来像一个基本问题,但我需要澄清一下。哪种方法最好从控制器动作返回大量数据,或者通过返回整个局部视图或者在我们制作时返回Json结果ajax请求控制器动作。在性能方面?

1 个答案:

答案 0 :(得分:0)

你必须考虑三个方面:

  • 服务器处理(从数据存储中检索数据并将其呈现为部分视图或JSON)
  • 网络传输时间(从服务器到客户端浏览器)
  • 客户端呈现

网络传输时间比其他两个网络传输时间大一个数量级(或两个或更多)。因此,对于大量数据,最好以尽可能“原始”的格式返回数据,JSON对于大多数用途来说非常方便。

如果您将数据作为JSON返回,服务器将不需要花时间使用您的数据呈现HTML,它将由客户端浏览器完成,可能使用您收到数据时调用的Javascript函数。

可以做出不同的点,哪些数据呈现(进入HTML)会更快:服务器或浏览器,但无论哪种方式,与通过传输“原始”数据所节省的成本相比,这些节省可以忽略不计。

如果数据量不是那么大,性能差异将不是最终用户能够理解的。在这种情况下,我会选择最适合您情况的优雅解决方案,或者您认为最适合实施和维护的解决方案。