2014-05-14 25 views
0

在新窗口打开我开发,其中的某些页面,用户可当他登录。参数丢失在C#

只能访问某些页面请求当我打开新的窗口,我会更好的站点。大多数情况下,我使用会话来存储包括用户数据在内的数据。

要打开我用一个新的窗口:

ScriptManager.RegisterStartupScript(this, typeof(string), "OpenWindow", 
       "window.open('~/smsftd1', null,'height=400,width=600, status=yes, 
       toolbar=no, menubar=no,location=no');", true); 

它打开的窗口中,它看起来如何我想它和它的行为方式。唯一的缺点是我用会话变量保存的所有数据都没有了。

如果我在相同的页面重定向,甚至打开一个新的标签,它工作正常,所有会话变量都可用。

当我搜索这个问题时,指出它是一个IE问题(旧版本)。我改变了IE浏览器设置中的设置,但没有帮助。

主要问题是我放弃了用户的授权。 目前我删除了打开一个新窗口,只是重定向。

如果有人这样做,我希望知道,所以我可以组织一个更好的流程。 我能想到的唯一选择是将数据存储在cookie中而不是会话中。 任何反馈请?

回答

0

没有直接的答案,但你可以检查与提琴手或垃圾工具在Firefox中。 请增加您的会话超时时间。

同时检查global.aspx,新窗口打开时没有事件调用。

最好的办法是小提琴手以检查你所有的历史显示什么是该Cookie /会话变量,链接重定向等

请做任何事情之前此链接。

After a few window.open calls my ASP.NET session times out

http://bytes.com/topic/asp-net/answers/287080-session-variable-window-open

Keeping ASP.NET Session Open/Alive

添加在web.config中,并尝试(从上面的链接引用)

"<httpHandlers> 
<add verb="GET,HEAD" path="SessionHeartbeat.ashx" validate="false" type="SessionHeartbeatHttpHandler"/></httpHandlers>" 
+0

我还在努力解决此我的方式,并尝试修复它:)越来越接近解决方案,但仍然存在一些问题。我希望我能在下周将它标记为答案。谢谢@ Ajay2707建议这些解决方案 – Rene

+0

Tnx亲爱的,我的评论可以帮助你。最好的事情是火狐会话管理器https://addons.mozilla.org/en-US/firefox/addon/session-manager/ – Ajay2707