【发布时间】:2011-04-11 20:16:01
【问题描述】:
在我的 default.aspx 页面中,我有许多用户控件,它们需要很长时间才能加载。任何人都知道如何使这个页面加载得更快。
【问题讨论】:
-
请详细说明您的页面是如何构建的以及性能瓶颈。
标签: jquery asp.net asp.net-ajax
在我的 default.aspx 页面中,我有许多用户控件,它们需要很长时间才能加载。任何人都知道如何使这个页面加载得更快。
【问题讨论】:
标签: jquery asp.net asp.net-ajax
确保在初始加载时只加载您需要在页面上显示的信息。任何后续信息都应通过回发或 ajax 加载。
【讨论】:
前几天有人问了一些类似的问题我试图回答:
Panel and User Controls vs load User Controls dynamically
总结:
如果您的用户控件都在页面中,但只有单个用户控件可见,您应该延迟加载您的用户控件。这意味着:
在 UserControl 的 Page_Load 中什么都不做,但只有当控制器(页面)使其可见时。因此,公开函数以加载其数据并在 ascx 中更新其内部 UpdatePanel。然后 - 在从页面调用函数并使控件可见之后 - 让页面更新 UserControl(s) 周围的外部 UpdatePanel。
这样,用户控件在变得可见之前既不会被渲染也不会被数据绑定,您总是可以直接直接引用它们。
让他们通过以下方式交流:
【讨论】:
由于默认页面加载非常频繁,您可以尝试输出缓存来提高您网站的性能。您可以将它用于整个页面或加载时间最长的用户控件。只需将以下标签放在页面顶部即可
<%@ OutputCache Duration="300" VaryByParam="none" %>
持续时间是页面停留在缓存中的时间,以秒为单位。
要提高您网站的性能,您应该首先分析瓶颈并向我们提供更多信息。性能改进的可能性有很多。
【讨论】: