2010-11-04 104 views
0

我最近创建了一个应用程序,在应用程序启动时将大量数据加载到对象中,并根据需要加载其他数据。例如,如果用户请求目录页面,则会将所有顶级类别数据加载到类型为Category的对象中。这将留在那里供其他用户使用(因此他们不需要将这些数据加载到对象中),并且如果管理员在同一个应用程序实例中登录,则可以由管理员进行更改。我知道这不是最有效的解决方案,正如下面所指出的那样,但它的工作原理和目前的页面加载不会太长。如果大部分所需数据已经加载到对象中,则非常快速。它也适合业务需求 - 与其他技术(如Linq-to-SQL)不同。VB.Net应用程序 - 在应用程序启动时向用户显示消息

我面临的问题是,当一个页面被请求时,需要大量的数据来显示不同类型的对象。例如,当请求目录页面显示可购买产品的信息时,它将加载所有产品和类别(因为产品引用的是类别对象,而不仅仅是类别名称)。

我想显示一个消息加载符号,而所有这些数据被加载到对象,所以用户知道它不只是在一个循环或任何东西。有没有办法做到这一点?如果需要,我可以使用JS/jQuery。

在此先感谢。

问候,

理查德

PS我就如何使之更有效率的工作 - 如使用哈希表或包含HashMap。然而,这需要时间,因为有很多不同类型的项目(新闻,事件,目录项目 - 范围,集合,设计,范围集合,集合设计,范围集合设计和范围设计 - 用户,PageViews和列表继续)。

+0

嗯看起来像我实际上已经找到了答案。当我早点搜索时,我一定错过了这个链接。 http://www.codeproject.com/KB/aspnet/LoadingMsgWhilePageLoads.aspx。无论任何人有更好的解决方案 - 可能不需要JS,都会让这个问题开放。 – ClarkeyBoy 2010-11-04 13:31:54

+1

你应该几乎可以肯定地重新考虑你的设计方法 - 使用一些懒惰的加载技术,所以你只需要加载东西,因为它们需要呈现给用户。我不清楚这些数据如何与其他用户共享,这是一个网络应用程序,不是吗?这部分听起来有点冒险。但通常我认为使用“请稍等”的东西应该局限于等待服务器完成工作,而不是在页面加载时加载大量可能不需要的数据(除非我们正在谈论大型闪存事物或某种东西)。如果不需要马上需要,您的应用程序不必加载太多。 – 2010-11-04 13:51:37

+0

我会做到这一点,它只是随着时间的推移加载所请求的数据。然而目前这是必须要做的。我一直都知道,使用这种方法最终会出现问题。看了这些数据后,我认为大部分数据实际上是页面浏览量,每天增加50+,所以我可以简单地存档一周以上的页面浏览量。这将解决这个网站的问题。不过,我正在考虑做一个比现在更有用的调查网站,但在这种情况下,过度的数据本身就是调查和问题。 – ClarkeyBoy 2010-11-04 14:57:03

回答

0

如果我错了,请纠正我的错误,但我确实需要使用Javascript才能显示“加载”图像......单独使用服务器端脚本通常需要在全部内容除非你想开始搞乱IFrames。

这是AJAX的工作。解决您的问题的一个常见解决方案是有一个显示加载图标的小页面。该页面有一些JavaScript,它会向服务器发出额外的HTTP请求以下载页面的其余部分。 JQuery有一个“$ .ajax”方法,旨在简化这个过程。

我会建议看jQuery文档中的.ajax方法的文档。不幸的是,让所有的脚本代码都正确,这似乎是一个相当微妙的过程,需要一段时间才能完全掌握。

+0

感谢您的输入。我认为我们不希望网站完全无法访问JavaScript关闭的5%(根据上次我在W3School查看的统计数据 - 在3月/ 4月)。我们很多客户都是老年人商务男士/女士 - 他们往往是每天经营一家商店的人,而且技术性不强。非技术型的人往往会对安全性有点不安,因此可能会认为他们所读到的关于JS不安全的任何内容。必须有一些解决方案,当页面首次发出请求时,页面会触发一些JS ... – ClarkeyBoy 2010-11-05 00:52:13

+0

嗯,再次查看我发布在我的问题上的链接,似乎这些解决方案不适合这种情况 - 一种方法使用你所建议的技术,另一个我太累了,不能理解,但这肯定不简单。我不知道是否有解决这个问题的方法,就像我希望的那样简单......在接下来的几个星期的某个时间里,它会继续工作 - 目前忙于求职面试和应用程序...... – ClarkeyBoy 2010-11-05 00:57:16

相关问题