很无语,在winform里使用axWebBrowser,现象如下:在formA里用axWebBrowse加载了一个页面A,点这个页的某个button,会存一些东西到session里,然后弹出页面B,在B中使用了前面存的session。现在问题是B里读session为空。而直接用ie访问页面A点button浏览B是没问题的。不知道谁碰到过这种情况,如何解决?

解决方案 »

  1.   

    帮LZ顶
      
    http://user.qzone.qq.com/31767702
      

  2.   

    忘了说,看iis log是500错误,但是直接用ie访问是可以的
      

  3.   

    改成response.redirect也访问不到session,但是另外的form里的axWebBrowse里通过别的页面可以访问到session,真是搞不明白了
      

  4.   

    简单说就是axWebBrowser弹出页面或redirect到其他页会丢失session
      

  5.   

    open出来访问不到还可以理解,因为系统认为是不同的浏览器了。redirect也访问不到真是无语了。其实这个时候session是有的,只是open或redirect到的页访问不到这个session,后来只能再用axWebBrowse来显示第二个页面了。
      

  6.   

    如果是DotNet2.0的话,应该直接用WebBrowser类来做,那个经过了MS的封装,应该更加可靠。使用axWebBrowser不被推荐。
      

  7.   

    .NET 2.0直接用WebBrowser控件吧,比用直接用axWebBrowser好,除了Script错误控制有bug。
      

  8.   

    I don't think a new window in the same process can lose session information...
      

  9.   

    >> I don't think a new window in the same process can lose session information...Agree. You need to intercept NewWindow event and provide the IDispatcher interface of a WebBrowser control of the same process.
      

  10.   

    To jiangsheng(蒋晟.Net[MVP]) and qqchen79(知秋一叶)说清楚点啊两位
      

  11.   

    处理WebBrowser的NewWindow2 Event,然后把第一个参数(ppDisp)设置成你自己的In the same process的WebBrowser.