2014-05-14 24 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