我最近分配了一项工作,让员工填写一个月的参赛作品。 根据所选月份,我有一个30,31,27,28列的网格。用户添加一行,从网格视图行下拉列表中选择一个任务,并填写所选月份特定日期的时间表。 在页面加载时,如果用户先前已提交了一些条目,我将这些条目放在数据表中,使用Session [" TimeSheet"] =数据表名称将数据表存储在会话中,并将数据表与grid绑定。如果这是第一次创建一个带有默认模式的空白数据表,并使用相同的Session [" TimeSheet"] =数据表名称绑定到会话。因此可以保证Session变量将存储一些数据表。
在每个添加按钮上单击我从会话变量获取数据表,在数据表中添加一个新行并绑定grid.But到我的badluck有时我的添加按钮获取Session [" TimeSheet"] as null,有时候没有。
但是,如果我保证在Session中存储数据表,那么它有时会在会话变量中变为空。我使用了断点,发现Session变量总是在页面加载时设置。但为什么在添加按钮单击它不起作用.....我已经看到其他stackoverflow标签也他们说检查webgarden,WebFarm,应用程序域回收。但好像现在它甚至没有在默认的VS开发服务器上工作。
请帮忙。我在过去的3天里陷入了这个问题......
答案 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