2014-09-24 71 views
0

我想从后面的代码打开一个新窗口,当用户点击链接按钮时,但我的应用程序cookie和会话被终止,因为用户无法在请求页面上做任何事情,但我可以使用响应URL正确地查看窗口。为什么会发生这种情况,在回应期间,我没有对cookies做任何事情。我用的是下面的帖子Response.Redirect to new windowWindow.Open Killing Session和Cookies

 string url = "XYZ" 
     string target = ""; 
     string windowFeatures = "menubar=0,scrollbars=1,width=780,height=900,top=10"; 
     script = @"window.open(""{0}"", ""{1}"", ""{2}"");"; 
     script = String.Format(script, url, target, windowFeatures); 
     ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true); 

回答

0

您的会话实际上是存储在一个asp.net的cookie,这样让我觉得你的cookies是不是在新窗口中无效。

由于某些原因,您的网址有所不同吗? Cookie不会跨域共享,因此,如果您的主应用程序位于“123.com”,而您的新窗口位于“XYZ.com”,则它们将无法访问彼此的Cookie。这意味着没有会话,等等。

如果你不在不同的域名,那么还有其他事情发生(特定的代码),消灭你的cookies。例如,如果出于某种原因,您的新窗口将在不同的浏览器中打开(这需要一些有趣的代码),或者您的浏览器正在擦除Cookie。

如果您需要更多帮助,请发布更多代码,以便获得更多上下文。

+0

我不是共享cookie我只是试图用“xyz.com”url显示一个新窗口,用户只会在我们的应用程序中,但问题是当我显示新窗口时,我的应用程序会话被终止。 – decoder 2014-09-24 15:34:16