如何使用ajax更快地发出请求(asp.net vs mvc)

时间:2010-12-11 09:53:22

标签: jquery ajax asp.net-mvc

我发现很多网站在页面中有一些使用ajax的部分比我用来查看ajax请求的速度快得多

比如使用标签更改视图 当我单击一个选项卡时,它使用Asp.Net和Ajax Control Toolkit在我的Web应用程序中更快地更改内容

并且在我的网络应用程序中开发的转发器或网格中的分页速度非常快

像这个网站一样 http://www.filgoal.com/English/DefaultDynamic.aspx

所以我需要知道用于实现这一目标的技术 本网站使用.net

开发

但我需要知道 这需要另一种技术来学习(从哪里可以学习)

还是只是asp.net + ajax 或其他技术

是MVC

我也想知道MVC是否比asp.net + ajax更好 关注绩效

提前致谢

5 个答案:

答案 0 :(得分:3)

基本上有两种流行的技术:

  1. 使用Microsoft AJAX和UpdatePanels以及Ajax控件工具包的经典ASP.NET WebForms
  2. 使用jquery的ASP.NET MVC
  3. 两者都可以快速发出AJAX请求。不可能说哪个更好。这在很大程度上取决于您的需求。有些网站成功使用这些技术。您应该知道,如果您正确使用它们,您可以制作快速且响应迅速的网站。

    使用ASP.NET MVC和jQuery,您可以完全控制HTML和AJAX请求/响应的内容,它比UpdatePanels更接近金属,因为有一个ViewState可以保留。

    制作响应式网站的一个重要方面是发送查询并仅发送需要在客户端上显示的数据。例如,如果页面上有一些分页网格,则应在数据库级别执行分页,并仅发送当前正在客户端上显示的记录。

答案 1 :(得分:2)

这不是X技术与Y技术的真实情况。他们都有自己的优点。

经过良好调优的JQuery + ASP.Net MVC站点应该可以和任何ASP.Net站点一样工作。了解如何优化是最重要的事情。

提示:

  • Google PageSpeed,Yahoo YSlow and 萤火虫是必不可少的工具。
  • 只在您需要的地方使用AJAX,否则请在页面请求时使用。 当服务器调用服务器两次时 信息可以获得一次(for 相当不可忽视的表现) 通常是更糟糕的选择
  • 尝试并使用JQuery 1.4+,这在新浏览器中更快地进行了优化
  • 由于David Robbins已经发布了上述链接,我不会打扰,但这是对性能提升的绝佳见解。

此致 杰米

答案 2 :(得分:1)

Dave Ward的博客可以帮助解释Ajax的最佳实践,并减少发送到服务器和从服务器发送的数据。请参阅我的回答here。在某些情况下,您可以关闭视图状态并通过PageMethods获取数据。戴夫的博客很清楚你能做些什么。

答案 3 :(得分:1)

我现在是Microsoft认证的培训师,涉及各种主题,包括ASP.NET,我总是听到像你这样的问题。 我可以从我的经验告诉你,ASP.NET MVC与ASP.NET WebForms非常不同,其中一个差异就是你在MVC中用于HTML呈现的更大控制。这几乎可以控制如何显示网页的所有细节,还需要做更多细节工作以提供良好的外观,与WebForms中发生的情况略有不同。为了能够更快地构建视图,实际上AjaxControlToolkit并不是最好的想法,我开始相信WebForms,尽管总会有人不这么认为。使用AjaxControlToolkit,许多人使用UpdatePanel,这也不是一个好主意,这使您可以以简单的方式使用Ajax,而不必弄脏你的手,但会夺走你曾经拥有的力量。 你问好,首先要构建大多数高性能视图,你必须学习以下内容:

  • ASP.NET MVC(您几乎从头开始学习制作应用程序的新方法,例如,如果您从未使用过PHP,那么)
  • jQuery(A. javascript库,这是许多网站的速度和多功能性的秘诀)。
  • jQuery插件(其中有很多jqgrid,jstree,spinner等等,你手动控制它们,你必须忘记拖放)
  • JSON(这是一种在应用程序和javascript或查询之间传递和接收数据的方法)
  • REST(是SOAP服务的替代方案)

希望这有帮助,如果您有更多问题,可以通过我的电子邮件与我联系

答案 4 :(得分:0)

我问的是类似的网站,但这些网站是使用asp.net开发的,但它具有非常快的ajax性能,所以我想知道使用哪种技术来实现类似的性能

当我使用ajax updatepanel和ajax控件工具包进行分页或制表时

大约需要10到30秒,具体取决于数据和页面设计以及页面控制

但例如此页http://www.filgoal.com/English/DefaultDynamic.aspx

对于标签和分页有很快的共鸣,无论数据是大还是小,页面都没有很多控件,也不管影响页面请求的其他任何事情

此页面的过滤下拉列表执行速度比我使用更新面板http://www.filgoal.com/English/AllNews.aspx?CatID=1

实现的速度快

此页面是aspx页面,但我需要知道这样的网站是否需要

1- asp.net或mvc或者这个关于ajax性能的问题没有区别

2-这只是ajax或ajax +其他技术或者根本没有ajax(这是其他技术)