DataTable dt = new DataTable();
if( Session["userCache"] == null)
{
dt = GetUserInfo();//从数据库中取得所有用户的个人资料
Session.Add("userCache", dt);
dt.Dispose();
}
else
{
dt = (DataTable)Session["userCache"]; //从session中获取DataTable
}首次打开页面的时候页面正常显示用户表的数据
当刷新一次的时候页面就不显示了 关闭浏览器再次打开的话有正常显示 刷新又不显示
我跟踪调试了下当Session["userCache"] == null时候 dt.Rows.Count = 40 反正为0
但刷新页面的时候 session有没丢失 程序会判断出Session["userCache"] !=null而执行
dt = (DataTable)Session["userCache"]; //从session中获取DataTable
我用Response.Write((DataTable)Session["userCache"].ToStrong());得到Table1
说明session还在 没丢失 但里面的数据确没有了 这是怎么回事 请大家帮忙解決下 这个应该不是代码的问题 session在 只是丢失了数据 会不会是设置
if( Session["userCache"] == null)
{
dt = GetUserInfo();//从数据库中取得所有用户的个人资料
Session.Add("userCache", dt);
dt.Dispose();
}
else
{
dt = (DataTable)Session["userCache"]; //从session中获取DataTable
}首次打开页面的时候页面正常显示用户表的数据
当刷新一次的时候页面就不显示了 关闭浏览器再次打开的话有正常显示 刷新又不显示
我跟踪调试了下当Session["userCache"] == null时候 dt.Rows.Count = 40 反正为0
但刷新页面的时候 session有没丢失 程序会判断出Session["userCache"] !=null而执行
dt = (DataTable)Session["userCache"]; //从session中获取DataTable
我用Response.Write((DataTable)Session["userCache"].ToStrong());得到Table1
说明session还在 没丢失 但里面的数据确没有了 这是怎么回事 请大家帮忙解決下 这个应该不是代码的问题 session在 只是丢失了数据 会不会是设置
dt.Dispose();
这个去掉试下
说明下 这段代码是重写在 OnLoad 事件中的protected override void OnLoad(EventArgs e){}
繼承自 System.Web.UI.Page
说明下 这段代码是重写在 OnLoad 事件中的protected override void OnLoad(EventArgs e){}
繼承自 System.Web.UI.Page
---------------------------你没写在if(!this.IsPostBack)里面吗?