关于跨页传对象。用哪种方法好,Session不行,占资源,Cookie,有大小限制,Server.Transfer....现在有一个项目,以前是用WinForm系统,现在要用WEBForm做,可以在跨页就有麻烦了,A是主页面,B是副页面,在B页面里面,操作生成一个DataTable数据后,然后提交,需要把B数据提交到A页面,A页面上有一些数据是需要修改的,然后在一起提交数据库。
     可在传DataTable时出现问题了,用Session方便,但是这样的页面,有些多,太占资源了。
不知道,用那种方法好一些,忘各位告知,谢谢

解决方案 »

  1.   

    session ,cache保持T对象数据
    session与cookie结合使用
      

  2.   

    你这种设计有问题,不应该生成一个DataTable传过去,你只需要把“生成DataTable的条件”传过去,然后在B页面生成数据即可。比如搜索地区为“北京”的数据,你把"b.aspx?area=beijing"传过去就行了。
      

  3.   

    直接在A.aspx页面中如下写即可:
    <from action="B.aspx" method="post">
    ...表单元素...
    </form>然后在B.aspx页面Request.Form("表单元素名")
    即可。这样再大的数据都可以传递过去。
      

  4.   


    这种方式不错,可以尝试一下,感觉Winform与WEBform差别还是挺多的,编码方式一样,但是架构的原理是完全不一样的
      

  5.   

    如果其他页面也会用到 B ,把它做成control
      

  6.   

    可以利用当前请求的上下文(HttpContext)进行值的传递。a.aspxContext.Item("Data") = dataTable1;
    Server.Transfer("b.aspx");b.aspxDataTable dataTable = (DataTable)Context.Item("Data");
    if (dataTable != null)
    {
       ...
    }
      

  7.   

    想办法把A和B放一个页面上
    多用用JS实现效果