我在页面中用到一个datatable(static protected datatable dt=new datatable())然后在page_onload()中对它初始化.在调试的时候,第一次按下"启动"按钮没有什么问题,调试完,关闭web窗口,再按下"启动"按钮进行第二次调试的时候,就会出现错误:说是datatable中已经有了某某列.所以我想是不是在声明datatable的时候用到了static关键字的原因?所以就想到要在程序结束后将datatable从内存中清除掉.我用了dt.dispose()语句,可是还是不行啊.高手们这是什么原因?怎么解决?

解决方案 »

  1.   

    为什么要用static呢? 可能会出问题的!
      

  2.   

    http://msdn.microsoft.com/library/cht/default.asp?url=/library/CHT/cpref/html/frlrfsystemdatadatasetclasscleartopic.asp
      

  3.   

    for(int i=0;i<dt.rows.count;i++)
    {
    dt.remove(dt.rows[i])
    }
      

  4.   

    一般来说,对象都有Dispose()方法,用来释放Object占用的内存.
    在你的例子里,把Table声明成静态的,如果只是一个用户在使用,当然不会有问题.但是,如果几个用户同时使用,就会出问题....
    不明白为什么非得要声明为静态的呢?
      

  5.   

    static是不能多人使用的吗?所有的代码都是在服务器端的代码.
      

  6.   

    一般来说,对象都有Dispose()方法,用来释放Object占用的内存.
    在你的例子里,把Table声明成静态的,如果只是一个用户在使用,当然不会有问题.但是,如果几个用户同时使用,就会出问题....
    不明白为什么非得要声明为静态的呢?
      

  7.   

    请问用了关键字static后就不能多人来用这个变量了吗?还有在程序声明变量,如果有多个人打开了网页那服务器是不是会给每个连接上网页的用户自动分配一个变量或只有所有的人共用这一个变量啊?
      

  8.   

    请问用了关键字static后就不能多人来用这个变量了吗?还有在程序声明变量,如果有多个人打开了网页那服务器是不是会给每个连接上网页的用户自动分配一个变量或只有所有的人共用这一个变量啊?