首先,感謝您的閱讀。ASP.NET在重定向和回發之間傳遞值
我會盡我所能描述我的情況。
我有一個頁面,用戶可以留言。 這裏的評論流程
- A-1。點擊'評論'按鈕
- A-2。使用ajaxtoolkit中的ModalPopupExtender顯示帶有文本框的模式彈出窗口。
- A-3。用戶在文本框中鍵入評論,然後單擊「確定」。
但是,當用戶未登錄時,預期的行爲會發生變化。
- B-1。點擊'評論'按鈕
- B-2。顯示登錄模式彈出式窗口,編號爲& pwd文本框。
- B-3。用戶類型ID & pwd,然後單擊確定。
- B-4。評論模式彈出顯示
- B-5。用戶輸入評論並單擊確定。
我有處理這種情況的問題。
當B-3發生時,頁面被回發,我登錄用戶,更新會話對象,並且我將Response.Rediect()頁面顯示給自己以顯示正確的登錄狀態(我必須... )。 重定向後,在Page_Load()中,我需要檢查一些值以顯示Comment-Modal-Popup。 但我不知道如何..
這裏就是我認爲
- 的ViewState
- 我只是不能使用它,因爲頁面被重定向沒有調回。
- 查詢字符串
- 我可以重定向時添加 「showCommentPopup = 1」 的網址,但會留下不必要的查詢字符串URL中。我不希望用戶濫用它。
- 會議
- 我實際使用Session對象。在重定向之前,我將Session [「ShowCommentPopup」]設置爲true。在Page_Load()中,如果它已設置,我將其刪除並顯示彈出窗口。
使用會話像我一樣不正確,當用戶打開同一個頁面中的多個標籤的工作。
- 用戶打開兩個選項卡(在Firefox)與相同的URL
- 用戶跟隨在第一凸片從B-1至B-3步驟。
- 在頁面被重定向到B-3和B-4之前,用戶刷新第二個選項卡。
- 如果時機正確,則在第二個選項卡中顯示註釋彈出窗口。
我希望聽到來自計算器有着深刻的見解..
爲什麼你*有*重定向到處理登錄?通常情況下,如果您已經提示輸入姓名和密碼,則無需重定向即可。 – Thorarin 2009-08-02 16:12:39
你是對的,我可以在不重定向的情況下處理登錄。它顯示正確的登錄狀態,我不能這樣做..該頁面使用黑盒控件來顯示登錄狀態,並且它只顯示頁面重定向後正確的登錄狀態..... – wooohoh 2009-08-02 16:43:04