我在頁面上有兩個感興趣的控件:一個DropDownList
和一個Button
。如果用戶按下按鈕,他會得到一個彈出窗體,當完成時,會導致基本頁面完全重新加載,從而丟失DropDownList中的值。澄清,這是一個刷新,而不是回發。我無法改變它使其成爲回傳。通過此頁面刷新在DropDownList中保持所選值最直接的方式是什麼?我無法避免頁面刷新,因爲在彈出窗口中輸入的數據反映在基本頁面的其他位置。如何在頁面刷新之間保留控件的值/文本屬性?
更新
我拼湊起來的,我不是跟非常開心出不確定性的解決方案:當用戶點擊該按鈕時,我使用JavaScript來獲取下拉的電流值,並通過與查詢字符串到被加載的彈出窗口。當用戶點擊彈出窗口中的「保存」時,導致數據被保存,然後重新加載基本頁面,我首先將querystring值存儲到Session變量中。加載時的基本頁面查看所述Session變量。如果存在值,則會相應地設置下拉列表的值並刪除Session變量。
雖然有點奇怪,但它是我能想到的最好的。我知道我的Gracious Benefactors不喜歡使用Session變量,但考慮到頁面重新加載,我無法想出一個替代方案。另外,由於Session變量是短暫的,在頁面關閉前不久創建,然後在打開後續頁面後立即刪除,我希望這是可以接受的。
對比意見,駁斥我的解決方案或推理,熱烈歡迎。
結論
最終,在我所描述的解決方案,我仁慈的恩人,我們商定了一個替代做法:如果選擇在DropDownList提出,它必須被打開彈出之前保存。這完全避免了整個ViewState問題。
所有這些都應該自動在[ViewState](http://msdn.microsoft.com/en-us/library/ms972976.aspx) – 2010-11-09 20:43:24
或者ajax post – 2010-11-09 21:04:48
中看到頁面可能會幫幫我。所以我們可以看到你是如何做你的彈出窗體和回發。 – David 2010-11-09 22:49:33