-2

在我的 asp.net 页面中,我使用的是 ajax,我想知道在进行 ajax 调用时如何保留变量数据。基本上在页面加载时,我从数据库下载大量信息并将其显示在页面上。然后在ajax调用期间,我想使用存储在变量中的数据,但问题是,在ajax调用期间,数据消失了,我必须重新下载数据。

有没有办法在ajax调用期间保留它?

4

2 回答 2

1
I want to use the data stored in the variable, but the problem is, during the ajax call, that data goes away, and I have to re download the data again.

这不是问题,这是 http 和无状态环境的本质。

根据检索到的数据类型,有一些缓存值的机制:应用程序状态、会话、缓存、cookie、静态字典。这实际上取决于数据的上下文、使用场景、硬件等。

您最好的方法是避免缓存对象,直到您知道这是系统中的瓶颈,或者针对此特定功能。

于 2013-05-09T19:18:26.917 回答
1

在 ASP.net 中,您有很多方法可以做到这一点,Session["YourNameHere"]在会话关闭之前ViewState["YourNameHere"]您拥有价值,或者在页面关闭之前您拥有页面中的值。

使用 ViewState使用 SessionState 的一些链接 希望对您有所帮助。

编辑

使用视图状态。

  1. 首先将可序列化放入您的类中。

    [Serializable]
    public class Fruits 
    {
        public string Apple { get; set; }}
    
  2. 保存值:

    Fruits Fruit = YourMethod(); //Yor method that retrive the data from DataBase* ViewState["Fruit"] = Fruit;

  3. 当您将使用 Viewstate 时:

    Fruits Fruit = ViewState["Fruit"]

于 2013-05-09T20:08:44.790 回答