ASP.NET页面有大约200个控件需要时间加载

时间:2013-01-21 10:18:50

标签: asp.net performance

我在加载表单时遇到问题。在IE8中加载大约需要15秒。有没有办法我可以显示前50个控件并在后台加载另一个控件,以便用户可以访问前50个控件,这些控件在加载时加载到屏幕上 任何人都可以帮我这个吗?

谢谢, 苏拉杰

2 个答案:

答案 0 :(得分:1)

要发送您网页的一部分,请使用Flush()页面内的部分位置,例如:

...html code...
<%Response.Flush();%>
...rest of html code...

但是如果延迟是在代码背后,例如在查询数据库时,那么刷新在那时没有帮助,你还需要在{{1}之后移动一些计算(如果可能的话)例如:

flush()

答案 1 :(得分:0)

这是大量的控件。

这里的主要问题是ViewState。看看你的页面大小。这将是几MB。网络设计不是很好。

您可以采取的步骤:

  1. 重新设计您的网页以使用更少的控件。您可以使用会话来维护值并将输入表单分成几个较小的形式。

  2. 您可以将ViewState移至会话中。这会让你有所缓解。请使用SessionPageStatePersister

  3. 将隐藏控件设置为Visible="False"。通过CSS或javascript隐藏的控件仍然会占用带宽。将控制设置为Visible="False"会告诉服务器不要渲染它们。这样做的缺点是,如果需要将它们显示在服务器上,你必须将PostBack发送到服务器。

  4. 对于不会因页面生命周期而更改的控件,请设置ViewStateMode="Disabled"。这将确保他们不会将其内容写入ViewState。