我在加载表单时遇到问题。在IE8中加载大约需要15秒。有没有办法我可以显示前50个控件并在后台加载另一个控件,以便用户可以访问前50个控件,这些控件在加载时加载到屏幕上 任何人都可以帮我这个吗?
谢谢, 苏拉杰
答案 0 :(得分:1)
要发送您网页的一部分,请使用Flush()
页面内的部分位置,例如:
...html code...
<%Response.Flush();%>
...rest of html code...
但是如果延迟是在代码背后,例如在查询数据库时,那么刷新在那时没有帮助,你还需要在{{1}之后移动一些计算(如果可能的话)例如:
flush()
答案 1 :(得分:0)
这是大量的控件。
这里的主要问题是ViewState
。看看你的页面大小。这将是几MB。网络设计不是很好。
您可以采取的步骤:
重新设计您的网页以使用更少的控件。您可以使用会话来维护值并将输入表单分成几个较小的形式。
您可以将ViewState
移至会话中。这会让你有所缓解。请使用SessionPageStatePersister
。
将隐藏控件设置为Visible="False"
。通过CSS或javascript隐藏的控件仍然会占用带宽。将控制设置为Visible="False"
会告诉服务器不要渲染它们。这样做的缺点是,如果需要将它们显示在服务器上,你必须将PostBack发送到服务器。
对于不会因页面生命周期而更改的控件,请设置ViewStateMode="Disabled"
。这将确保他们不会将其内容写入ViewState。