我如何处理沉重的页面?

时间:2011-02-26 15:16:05

标签: asp.net

我被要求设计&在asp.net中开发一个包含7个tab的页面。每个表包含2个可编辑的gridview&点击gridview单元格应该打开一个弹出窗口&弹出窗口将打开一个新的弹出窗口(我会说嵌套的弹出窗口)。即使我从一个标签切换到另一个标签。它应该保持griddata&每当用户完成所有操作时,他/她将点击保存按钮,这将保存选项卡中包含的所有数据。 这个页面太沉重了。加载肯定需要很长时间,因为它包含gridview操作,弹出相关作业,标签数据和标签切换。 我找到了以可接受的操作速度实现这一目标的最佳方法。任何建议或帮助将不胜感激。

3 个答案:

答案 0 :(得分:4)

使用ASP.NET中包含的所有基于Web的控件(选项卡,网格,使用密集型回发模型的任何内容)以及第三方供应商(Telerik,Infragistics等)制作的控件(可能)制作非常的网页。在我的日子里,我已经做了很多。标签。多个更新面板。从几十个来源创建的下拉菜单。我决定记住一个简单的事实:

WEB_APPLICATION != CLIENT_SERVER

只是因为你可以,并不代表你应该这样做。如果无法更改用户界面,请记住以下内容

查看分页网格视图。限制页面上呈现的数据量将加快页面的速度。

您可以查看缓存操作。如果您可以访问现代浏览器,则可以在客户端上使用隔离的本地存储。这比服务器上的缓存更快,但你只限于真正的新东西。

成为部分页面加载和AJAX操作的大朋友。您仍然可以构建更大的UI,但要保持实际的数据操作小而且集中。在页面的可见组件加载后,可以加载隐藏选项卡上的数据驱动下拉列表。

我让很多客户感到非常高兴,因为我保持我的UI非常快,而且他们永远不会破坏。我保持他们专注,让他们保持快速。为单个任务构建页面。设计简化为UI。你不会后悔的。

答案 1 :(得分:1)

  • 寻呼。
  • 缓存。
  • 延迟加载(通过Ajax)。

答案 2 :(得分:1)

我不是ASP.net程序员,但我认为你需要回到基础。我假设gridviews是表格。

您可以查看以下基本优化: 您的7个标签中的每一个都可以是单独的http请求,这会使您的加载时间减少7个 可以使用cookie和会话对象的组合来保留其他6个选项卡中的数据。

另外,正如@LordCover建议: 查看ASP.net缓存选项(如果有) 尽可能使用Ajax(可编辑的表格单元格)

另外,请考虑从ASP页面生成的HTML,而不是围绕此页面完全以ASP为中心。

另外不排除重新设计UI,有很多方法可以做同样的事情。您可以将UI分解为更简单的页面