存储/获取信息客户端的最佳方式

时间:2012-03-15 03:30:58

标签: c# javascript asp.net web

我有一个使用列表框的ASP Web应用程序。我的困境是列表框中项目选择的更改将快速且频繁地发生,因此进行回发以获取我需要的信息将最终在客户端变得非常慢。

我的问题是: 在客户端存储数据的最佳方法是什么?或者我应该使用像Postback或ajax这样的东西?

需要存储的信息可以是我可以拆分的每个项目的单个字符串,但是需要包含列表框中所有项目的信息,并且列表框中的项目数量是未知的

请告诉我您认为最适合获取信息的地方。

3 个答案:

答案 0 :(得分:2)

这实际上取决于你想要走多远。回发将很快实施,但可能证明是尴尬和缓慢。以某种方式使用ajax会大大加快速度,并且有很多方法可以使用它。其程度取决于您希望花费多少时间来开发它与使用者/使用频率的利益。

作为一个具体的答案,我建议使用AJAXing数据,但无论你是在每次需要时还是在加载时都这样做,都取决于应用程序/上下文。

答案 1 :(得分:1)

正如g.foley所写,它是特定于上下文的,如果没有获得更多细节,就无法回答 我可以说我曾经持有一个JavaScript对象,我只在提交表单时发送,也许这种方法可以帮助你。

答案 2 :(得分:0)

从问题的子上下文中,我将猜测当列表框上的选择发生变化时,您真的不需要来自服务器的信息吗?如果我是对的,那么你可以将信息存储在javascript变量中,然后在浏览器导航到另一个页面/关闭(onBeforeUnload)之前将数据通过AJAX发布回服务器。这样,您将减少与服务器的持续通信。如果您最终使用此方法,请注意Chrome确实不喜欢卸载或beforeUnload上的Async AJAX调用。您需要使您的呼叫同步。 IE也不喜欢它,但结果不同。您可能实际上失去了与服务器的连接,因此当您的网站加载下一页而不是同时使用4/6连接时,您将只有3/5可用。

如果我猜错了,那么最好的选择是在选择更改时对服务器进行AJAX调用。这将是获取信息的最快方式(WebSockets除外)。