在以多个条件进行查询时,查出来了很多数据,查看一条记录的详细信息之后,返回这个查询页面时,想保持原来页面的查询条件,该怎么做?
例如:
 一个学生信息系统,在查询页面(main.aspx)上查找:年龄是20(age=20),性别是男(sex='男'),姓张的人.查出数据后,点击一条记录进入这条记录(这个学生)的详细信息(detail.aspx),然后返回main.aspx时,想保持上面的条件,该怎么办?
 我想到的是:1:用url上的参数传:如:Response.Redirect("main.aspx?age=20&sex=男&name=张"),但是这样的话,如果参数过多的话怎么办?还有就是这个参数不管用户点到那个页面都得带着,然后直到传回main.aspx
  2: 用Session,但是Session这个东西,我听人说很不安全。
请大家帮帮忙,出个主意。

解决方案 »

  1.   

    首先Session应该说是非常安全的,因为他是存放在服务器的内存里,客户端是无法修改的.
    保存这个状态的话,建议你用Cookie,怎么样操作Cookie网上例子太多了,随便搜都是一大堆,代码就不写了.
      

  2.   

    其实你可以点击一条记录时,弹出新窗口,在新窗口里显示这条记录(这个学生)的详细信息:window.open("detail.aspx","",".....");
      

  3.   

    直接返回history.back();或者history.go(-1);
       回自动保存的
      

  4.   

    静态页面已经做好了,就是转到另一个页面。
    还有就是,history的那个方法,如果这个信息页要传好多层呢?如下:
     main.aspx(返回的页)->detail.aspx 又转到了其它页如:修改页(修改学生信息),然后在修改页上又有其他的链接,这样一层层的链接点下去,最终还要回到main.aspx ,那么这个history还能用吗?
      

  5.   

    多层history当然不能用了,不过楼主的问题怎么也看不出是多层
      

  6.   

    都在一个页面吧?
    那就用VIEWSTAT保存数据咯