会话变量处理不当
本文关键字:处理不当 变量 会话 | 更新日期: 2024-09-25 22:17:16
我在aspx上有一个带有id="grdManageFilterRoom"
的AspxGriview页面。我通过从数据库中获取一些数据来绑定这个网格。如果Session["grdManageFilterRoom"]
变量发生任何变化,则会自动反映在Session["tmpGrdManageFilterRoom"]
变量中我不知道为什么会发生这种事,我想避免这种行为。任何建议都将不胜感激。
Session["grdManageFilterRoom"] = NameIdPairs<Int32>.GetRooms(companyCode, companyPersonID);
grdManageFilterRoom.DataSource = Session["grdManageFilterRoom"];
Session["tmpGrdManageFilterRoom"] = Session["grdManageFilterRoom"];
这:
Session["tmpGrdManageFilterRoom"] = Session["grdManageFilterRoom"];
使两个会话变量都指向同一个对象(我猜GetRooms
方法返回引用类型),基本上不管您使用的是Session["tmpGrdManageFilterRoom"]
还是Session["grdManageFilterRoom"]
(因为它是同一对象)。
如果要防止这种情况发生,则需要克隆这些对象。