我試圖用盡可能少的步驟來描述它: 我有Page1.aspx有很多控件,以及其中的預覽和保存按鈕。我也有Page2.aspx這是預覽按鈕點擊的重定向目標。跨目標_blank頁面發佈葉子源頁面不起作用
由於我需要Page1中的所有控件選擇以在Page2上繪製預覽,因此重定向是通過設置Preview的PostBackUrl
完成的。 我還必須在新選項卡或窗口中顯示預覽,所以我使用onClientClick="aspnetForm.target='_blank'"
來預覽按鈕定義。
保存按鈕,點擊回調,之後將數據存儲到數據庫中,都重定向到一些Page0.aspx的報告(初步名單 - 該代碼的主題)
預覽按鈕工作正常 - 預覽渲染在新選項卡,但是當我轉到舊選項卡並單擊保存時,我從調試器中看到,首先Page2.aspx(?)和其次加載Page1.aspx。然後所有的數據都存儲在數據庫中,但儘管Page0重定向執行Page1.aspx保持加載在瀏覽器中。
我不知道背後有什麼過程。誰知道誰能給我一個見解?或者如果你認爲我的方法不可能實現,請給出一些想法,如何做到這一點?
如果它很重要,則Page1上的所有內容都位於更新面板中。
非常感謝您的回覆
這種情況是:Page1是用於爲一個非常大的網絡系統創建報告模板 - 包含多行,包含多個下拉和輸入。預覽按鈕的作用是讓用戶獲取當前選擇的繪製報告(在新頁面中 - 已有功能的已寫入頁面),並且如果模板已經構建好,則將模板保存到數據庫(單擊保存) 。 此外,所有提到的控件實際上都是用戶控件的一部分,包含在幾個頁面中(Page1.aspx就是其中之一) –
感謝您指出這個Asp.Net原則,從現在開始我會記住它,但在這裏我受限於現有的框架。 我不確定這是有建設性的,在預覽點擊,保存到數據庫的所有臨時值,並在第2頁上使用它們? (原則2你陳述) 最好的幫助將是洞察爲什麼兩個頁面加載在從舊選項卡的回發和選項卡搞砸了?如果能夠幫助解決這個問題,或者我可以進行更廣泛的重構。 再次感謝你 –
是的,你完全正確。將需要的數據保存到第1頁上,如果需要預覽按鈕,則使用查詢字符串將數據發送到下一頁或像您提到的其他方式(保存到數據庫,然後將數據加載到其他頁面上)。 –