我在aspx页面上有id="grdManageFilterRoom"
的AspxGriview。我通过从数据库中获取一些数据来绑定此网格。如果Session["grdManageFilterRoom"]
变量发生任何变化,它会自动反映在Session["tmpGrdManageFilterRoom"]
变量中
我不知道为什么会这样,我想避免这种行为。任何建议都将不胜感激。
Session["grdManageFilterRoom"] = NameIdPairs<Int32>.GetRooms(companyCode, companyPersonID);
grdManageFilterRoom.DataSource = Session["grdManageFilterRoom"];
Session["tmpGrdManageFilterRoom"] = Session["grdManageFilterRoom"];
答案 0 :(得分:0)
此:
Session["tmpGrdManageFilterRoom"] = Session["grdManageFilterRoom"];
使两个会话变量都指向同一个对象(我猜这个GetRooms
方法返回引用类型),基本上无论你使用的是Session["tmpGrdManageFilterRoom"]
还是Session["grdManageFilterRoom"]
(因为它是同一个对象)。
如果想要阻止这种情况,那么你需要克隆那些对象。