今天第一次用System.Web.UI.UserControl,但用到Session时,直接这样用:
Session["userinfo"] = dt;
...
DataTable dt = (DataTable)Session["userinfo"];
这样做发现一个问题,Session居然丢失了, 后来想来想去,发现控件也可以算做是一个页面,而引用此控件的页面则是此页面的父级对象,所以,代码改成如下:
this.Parent.Page.Session["userinfo"] = dt;
...
DataTable dt = (DataTable)this.Parent.Page.Session["userinfo"];
这样就成功了
本文介绍在ASP.NET中使用System.Web.UI.UserControl时如何正确处理Session的问题。作者最初尝试直接在UserControl中操作Session导致Session丢失。通过将Session操作更改为通过Parent.Page属性进行,最终解决了该问题。

被折叠的 条评论
为什么被折叠?



