vs.net 2003 C# asp.net 1.1 + sqlserver 2000从数据库中获得数据集填充到一个DataSet并显示于页面(page1)的DataGrid之后,接着在用户点击了页面上的某个按钮并跳转到另一个页面(page2)之后,还能不能将page1的DataGrid中的数据复制到page2中DataGrid中(不用再次连接数据库)?
可以的话请问大概要怎么做?谢谢!!

解决方案 »

  1.   

    请问LZ,那你点Page2的目的是做什么?不是要取第二页的数据吗?为什么还显示第一页的数据
      

  2.   

    数据量这么大..把DataSet的引用放到Session里,再另一页面再访问这个Session
      

  3.   

    也可以使用server.transfer方式来传递页面间的大数据
      

  4.   

    用page2的目的打印预览,要对数据的显示界面格式加以修改。
    不可能用Session吧???
    server.transfer难道数据集下载到了客户端后,在另一个页面就不能引用了么(如引用DataSet表名称什么的)? 只能再次搜索数据库么?
      

  5.   

    难道数据集下载到了客户端后=========首先,需要澄清,数据集还没有到客户端(这是 Web 程序),到客户端的只有一堆 html 而已一次请求完成之后,所有请求的内容(内存相关信息)都不存在了,这是由 http 无状态决定的要多个请求之间访问(不论是否跨页),只有借助其他长期驻留在服务器上的“容器”对象来装载,如 Session, Application, Cache对于同一个请求跨页访问,可以使用 HttpContext.Item如,
    // a.aspx.cs
    Session["MySessionKey_911"] = SomeDataSet;
    // b.aspx.cs
    DataSet SomeDataSet = Session["MySessionKey_911"] as DataSet;
    if(SomeDataSet != null) {
        // .....
    }然而,
    对于大数据对象,如 DataSet ,通常不建议使用 Session 来传递, 也许重新从数据库加载数据,更加适合,主要看你的数据量