none
ASP.NET向下一个页面传对象的问题 RRS feed

  • 问题

  • 你好

        我想请教一下,如果向下一个页面传递一个对象,不使用Session。

        也就是说,我把用户在一个页面中输入的检索条件(比较复杂的条件),封装到一个conditions集合类里。但是用户输入条件的地方已经占页面的2/3了,检索结果几乎没地方了。因此,我想把这个条件(类),传递到下一个页面,在下一个页面显示检索结果。

        顺便提一下,conditions类是condtion类的集合,conditions类继承System.CollectionBase。condition类是一个数据库的表,字段名,字段值,字段类型等的一个类,以便创建SQL语句。

        是不是应该使用XML或是JSON,把序列化字符串通过超链接传递给下一个页面。


    1+1=The World >>> BLOG=http://blog.csdn.net/liuning800203 >>> Email=liuning800203@hotmail.com
    2010年10月7日 15:14

答案

全部回复

  • 是的,把对象序列化为字符串后,传向另外一个页面.

    传有两种方式,GET和POST.

    Get方式是数据放URL中,长度受限制,所以推荐用POST方式,其实就是一个模拟提交的过程


    Love Your Neighbor as Yourself
    2010年10月7日 19:53
  • 可以使用Cache,也可以把集合转换为JSON进行传递

    集合转换为JSON方法 参照

    http://www.cnblogs.com/zqmingok/archive/2010/04/01/1702718.html


    http://blog.csdn.net/zx13525079024
    2010年10月8日 4:41
  • 用cache可以,但是不需要用json,按照你说的,用hashtable就可以,把整个用户的选择存到hashtable,最后再保存到cache,但是有一个问题,如果用户过多,会占用服务器内存,且cache需要用guid保存,避免重复

     

    如果选择条件少的话,最好还是用地址传参比较好

    2010年10月10日 2:12
    版主