Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在ajax调用之后,数据表的寿命是多少?_Asp.net_Jquery_Lifecycle - Fatal编程技术网

Asp.net 在ajax调用之后,数据表的寿命是多少?

Asp.net 在ajax调用之后,数据表的寿命是多少?,asp.net,jquery,lifecycle,Asp.net,Jquery,Lifecycle,我正在对我的服务器端c#进行jquery ajax调用。c代码填充数据表,然后使用JavaScriptSerializer将数据发送到aspx页面: datatable已初始化为公共表: public partial class _Default : System.Web.UI.Page { DataTable myDataTable = new DataTable(); protected void Page_Load(object sender, EventA

我正在对我的服务器端c#进行jquery ajax调用。c代码填充数据表,然后使用
JavaScriptSerializer
将数据发送到aspx页面: datatable已初始化为公共表:

public partial class _Default : System.Web.UI.Page
   {
      DataTable myDataTable = new DataTable();

      protected void Page_Load(object sender, EventArgs e)
         {
            if (!Page.IsPostBack)
            {
               //SqlDataReader builds loads data into dataTable...
               HttpContext.Current.Response.Write(serializer(dataTable));
            }
aspx页面最终通过将数据发布回aspx页面来从数据创建一个表。 我的下一个任务是在单击表标题时对行进行升序/降序排序(使用另一个ajax调用)

我想执行与此问题中接受的答案类似的排序操作:

初始ajax调用中的datatable是否仍在内存中?
谢谢。

不,数据表将不再在备忘录中。每次创建请求时,都会创建一个新的
\u Default
实例。在处理请求后,它将被销毁


如果希望数据表保留在内存中,则应将其保存在缓存或应用程序对象中(
HttpContext.Current.Cache
/
HttpContext.Current.Application

我创建了第二个ajax调用来对数据表进行排序,但令我沮丧的是,最初的数据表已不在内存中。这是asp.net,不是ClassicTanks Kenneth,我在一些测试中发现了这一点。一些测试花费了我准备问题的时间;-)。我最后做的是将表存储在会话变量中:
session[“dtSession”]=dataTableName似乎工作正常,除了在调试模式下,我注意到如果我离开10-15分钟,变量变为MIAYes,这是因为会话超时。你无论如何都会得到这个,因为一段时间后(标准的20分钟),应用程序池会回收,你将失去所有状态。为了安全起见,您需要执行空检查,并在未加载时加载它