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

C# 在客户端存储/获取信息的最佳方式,c#,javascript,asp.net,web,C#,Javascript,Asp.net,Web,我有一个使用列表框的ASP web应用程序。我的困境是,列表框中项目选择的更改将快速而频繁地发生,因此在客户端进行回发以获取我需要的信息将非常缓慢 我的问题是: 在客户端存储数据的最佳方式是什么?或者我应该只使用像Postback或ajax这样的东西吗 对于我可以拆分的每个项目,需要存储的信息可以是单个字符串,但是列表框中的所有项目都需要信息,并且列表框中的项目数未知 请让我知道你认为什么地方最适合获得信息。这取决于你想走多远。回发将很快实现,但可能会被证明是笨拙和缓慢的。以这样或那样的方式使用

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

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

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


请让我知道你认为什么地方最适合获得信息。

这取决于你想走多远。回发将很快实现,但可能会被证明是笨拙和缓慢的。以这样或那样的方式使用ajax将大大加快速度,有很多方法可以使用。其程度取决于您想花多少时间开发它,以及用户/使用频率的好处


作为一个具体的回答,我建议在中调整数据,但您是在每次需要时这样做还是在加载时这样做,将取决于应用程序/上下文。

正如g.foley所写,这是特定于上下文的,如果不了解更多细节,就无法回答。

我可以说,我曾经保存一个JavaScript对象,我只在提交表单时发送它,也许这种方法适合您。

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


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

不幸的是,我需要获取列表框中每个项目选择的信息。否则,我就可以在页面之间使用ASP。AJAX似乎是解决问题的方法。所以可能会看到这是怎么回事。最好是将所有内容都加载到那里,而不必返回并转发到服务器。检查答案是否与我所寻找的最接近:)那么您使用Javascript对象来保存所有信息?有没有一种存储“全局”对象的方法,在函数完成时无法清除?您可以使用HTML5 localStorage-请参阅中的一些讨论,我一直在考虑使用“hiddenfields”,并在ASP中加载页面时创建它们。我可以使用这些值将其放入一个信息字符串中,我可以将其拆分并在javascript中使用。你认为这是个好主意吗?