2010-01-13 93 views
3

我有一個下拉列表這樣DROPDOWNLIST onselectedindexchanged問題

<asp:dropdownlist runat="server" autopostback="true" onselecteditemindexchanged="fire_event" ID="DDL"/> 

和代碼隱藏IM做這個

page_load : if(!page.postback)I m binding data into dropdownlist 
    fire_event: I am redirecting page to itemselected value. 

所以我能夠做的大部分部件都被除正常使用..

當我在下拉列表中選擇項目時,它將我重定向到我想要的頁面......但是當我點擊它時,它仍然保留在相同的項目選擇值中。我希望它像加載了aga在我點擊返回時

如果我的下拉就像是狀態A 等物品

A 
B 
C 
D 

當我選擇D它需要我D頁面,當我點擊回 它是在狀態D我想讓它顯示A代替D

+0

我很想看看有人有這個解決方案。我個人沒有,並認爲你卡住了......但我有興趣閱讀任何建議。 – 2010-01-13 13:23:18

回答

1

當您在許多瀏覽器上(但不一定是全部)使用後退按鈕時,您沒有訪問服務器,您正在檢索已緩存的頁的副本瀏覽器處於最後狀態。
爲了避免這種情況,您需要防止您的頁面被緩存,以便從服務器檢索它。將以下內容添加到您的頁面加載當然會在IE中實現。 Further investigation曾透露,這也可以在Firefox中使用無店屬性來實現:

Response.CacheControl = "no-cache"; 
    Response.Cache.SetNoStore(); 
    Response.AddHeader("Pragma", "no-cache"); 
    Response.Expires = -1; 
+0

感謝您的回覆...正如你所說,它只適用於IE瀏覽器,所以在IE中,這件事正在做我想要的,但現在response.redirect不能正常工作。但無論如何,我正在尋找一些可以工作的解決方案與FF,IE都.... – 2010-01-13 14:31:15

+0

沒有它與罰款與IE瀏覽器實際上我只使用FF只...並沒有嘗試我的代碼在IE瀏覽器...我的response.redirect是不是所有在IE瀏覽器,但耶我檢查了它的UC代碼是與IE瀏覽器gud。但如果htere是可以與這兩種工作的任何方式... – 2010-01-13 14:43:21

+0

沒有安迪我使用了無商店,但它不工作在FF – 2010-01-13 15:58:40

1

您可以使用JavaScript來確保在加載文檔時正確的價值選擇。下面的代碼是與jQuery的,但你可以做同樣的微軟Ajax ...

$.ready(function() { 
    $("#mySelect").val(''); // Set the default value to select here 
}); 

祝你有美好的一天!

+0

我不想爲此使用jquery或Ajax ...我想從代碼隱藏(C#)做到這一點...我知道有沒有這種方式...只是沒有得到它....反正...謝謝回覆 – 2010-01-13 16:00:28

+0

@Guillaume Roy - 我最初嘗試使用javascript來解決這個問題,但發現當您使用後退按鈕在Firefox中檢索緩存頁面時,腳本不會觸發。 – 2010-01-14 08:46:54

+0

我嘗試了上面的代碼在Firefox 3.5中,它的工作...你可以給我你的代碼? – 2010-01-15 06:00:58