如何在asp.net中的ajax调用期间保存数据?

时间:2013-05-09 19:12:30

标签: asp.net ajax

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

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

2 个答案:

答案 0 :(得分: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,静态字典。它实际上取决于数据的上下文,使用场景,硬件等。

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

答案 1 :(得分:1)

在ASP.net中,您需要通过多种方式执行此操作,Session["YourNameHere"]您可以使用该值,直到该会话关闭或ViewState["YourNameHere"]您拥有该页面中的值,直到它关闭为止。

某些链接Using ViewStateUsing SesionState 我希望这有帮助。

修改

使用Viewstate。

  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"]