会话值有时不会保留

时间:2014-09-16 04:41:11

标签: c# asp.net

我最近分配了一项工作,让员工填写一个月的参赛作品。 根据所选月份,我有一个30,31,27,28列的网格。用户添加一行,从网格视图行下拉列表中选择一个任务,并填写所选月份特定日期的时间表。  在页面加载时,如果用户先前已提交了一些条目,我将这些条目放在数据表中,使用Session [" TimeSheet"] =数据表名称将数据表存储在会话中,并将数据表与grid绑定。如果这是第一次创建一个带有默认模式的空白数据表,并使用相同的Session [" TimeSheet"] =数据表名称绑定到会话。因此可以保证Session变量将存储一些数据表。

在每个添加按钮上单击我从会话变量获取数据表,在数据表中添加一个新行并绑定grid.But到我的badluck有时我的添加按钮获取Session [" TimeSheet"] as null,有时候没有。

但是,如果我保证在Session中存储数据表,那么它有时会在会话变量中变为空。我使用了断点,发现Session变量总是在页面加载时设置。但为什么在添加按钮单击它不起作用.....我已经看到其他stackoverflow标签也他们说检查webgarden,WebFarm,应用程序域回收。但好像现在它甚至没有在默认的VS开发服务器上工作。

请帮忙。我在过去的3天里陷入了这个问题......

1 个答案:

答案 0 :(得分:0)

private object obj = null;
private object mySession
{
    get
    {
        if (obj == null)
        {
            obj = new object();        //OR
            obj = Session["Session"];
            //Initialise your object with default value
        }
        return obj;
    }
    set
    {
        obj = value;
    }
}

在您需要的代码中使用Session变量

DataSet ds = mySession as DataSet;
//as you required you can typecast