DataTable dt = Session["FileQuery"] as DataTable;
                    dt.Columns.Remove("rownumber");
                    dt.Columns.Remove("docid");
                    dt.Columns.Remove("url");
第一次执行的时候是对的,第二次执行是错误的(报rownumber不属于table)
难道 dt.Columns.Remove("rownumber");影响到了Session["FileQuery"] 中的值了吗?
谢谢

解决方案 »

  1.   

    应该是影响到了, Session["FileQuery"] 值的类型是引用类型的,复制过去的时候 需要深度复制
      

  2.   

                    DataTable dt = (Session["FileQuery"] as DataTable).Copy();
                        dt.Columns.Remove("rownumber");
                        dt.Columns.Remove("docid");
                        dt.Columns.Remove("url");该成这样
      

  3.   

    Session保存的只是引用而已,1楼是对的