如果从已经认证过的对话框页面dlg.aspx打开页面A.aspx(通过window.open(...))那么A.aspx页面会被重定向到登陆页面,跟踪发现,打开A.aspx的页面时session信息已失效(已经自动新建了一个session),估计是IIS的session存取机制(java/jsp项目没这样的问题),晕!   另外ms sqlserver 2000 utf-8支持很差,多语言的信息很多放进去,查不出来(不可能都用N'xxx',太麻烦了,也没法替换db server),而mysql就没这么差,只需要设置为utf-8就可以了;微软的东西真是...

解决方案 »

  1.   

    Session是针对浏览器的,当你火狐或者遨游看页面,但是window.open打开了IE,当然Session会重建。。
      

  2.   

    ms sqlserver 2000 utf-8支持很差,多语言的信息很多放进去,查不出来
    多语言的信息你是否用utf-8放进去的?如果不是当然查不出来。
      

  3.   

      本人是做.net的,并没有觉得微软的东西很......
     至于你所碰到的Session失效问题,我有个建议: 尽量不要用Session.
     Session在遭遇多线程时失效或被无端改变所存值的可能性很大.
     这并不是说在微软系列中才有的问题,在java中一样存在这个问题.
     建议比较好的做法是通过写javascript函数传值,如果在接受页面确实由于某些原因,
     需要保存传递过来的参数值,建议使用ViewState保存.
     不过ViewState对资源的消耗比较大,你也可以选择使用hidden控件存值的方式来实现.