如何异步加载Web用户控件

时间:2011-04-11 20:16:02

标签: jquery asp.net asp.net-ajax

在我的default.aspx页面中,我有许多用户控件,他们需要花费大量时间来加载。任何人都知道如何使这个页面加载更快。

3 个答案:

答案 0 :(得分:0)

请务必仅在初始加载时加载您需要在页面上显示的信息。任何后续信息都应该通过回发或ajax加载。

答案 1 :(得分:0)

前几天有人问我有点类似,我试着回答:

Panel and User Controls vs load User Controls dynamically

要点:

  

如果您将UserControls全部放在页面中但只能看到单个UserControl,则应该延迟加载UserControl。这意味着:

     

在UserControl的Page_Load中不执行任何操作,但仅在控制器(页面)使其可见时才执行任何操作。因此,公开函数以加载其数据并更新其在ascx中的内部UpdatePanel。然后 - 在从页面调用函数并使控件可见之后 - 让页面更新UserControl周围的外部UpdatePanel。

     

通过这种方式,用户控件在可见之前既不会被渲染也不会被数据绑定,您可以随时直接引用它们。

让他们以下列方式沟通:

  • Page> UserControl通过函数/属性
  • UserControl>页面通过活动

答案 2 :(得分:0)

由于默认页面经常加载,您可以尝试输出缓存以提高站点的性能。您可以将它用于整个页面或用于加载时间最长的用户控件。只需将以下标记放在页面顶部

即可
<%@ OutputCache Duration="300" VaryByParam="none" %>

持续时间是页面停留在缓存中的时间(以秒为单位)。

要提高网站的效果,首先应分析瓶颈并向我们提供更多信息。性能改进有很多可能性。