2009-11-30 100 views
0

在ASP.NET中回發有一個非常奇怪的問題。我有頁面動態填充Page_Load上的DropdownLists,只有當它不是回發。我還在頁面上有幾個文本框供用戶輸入。在iframe中回發丟失項目DropdownList

如果我回發,通過單擊提交按鈕或通過SelectedIndexChanged事件,文本框保持其值,但下拉列表丟失所有項目 - 但只有當頁面通過iFrame加載時。如果我直接加載頁面,一切正常。如果我通過iFrame加載它,除下拉菜單外的所有東西都可以使用。

有沒有人遇到過這種行爲?我不認爲它很重要,但我在Windows7,IIS7,ASP.NET 3.5和IE8瀏覽。 ViewState被啓用,這從文本框的值持續顯示是顯而易見的。 ASP.NET頁面位於localhost上託管的WebApp中。包含IFrame標籤的頁面只是一個虛擬的HTML文件,位於我的桌面上進行測試。這可能只是一個IE安全問題?

更新: 我其實只是將「虛擬」容器頁面移動到Webapp中,即使通過iFrame它似乎也能正常工作。儘管如此,我想知道爲什麼會發生這種情況,如果包含頁面在Webapp之外,因爲我打算讓人們通過其他域加載頁面和iFrame ..

回答

1

這可能是一個ViewState問題。 TextBox控件中的值來自發布數據,而不是ViewState,因此不表示它正常工作。

+0

謝謝,我想這只是在IE瀏覽器中奇怪的securit設置,當試圖通過像c:\ etc \ etc \ test.html這樣具有嵌套iFrame的本地文件來做到這一點時。如果我將該文件放入任何合法網站並通過正確的http:// url加載,它就可以工作。 奇怪。 – WesleyJohnson 2009-11-30 21:09:53

+0

+1 ViewState上的信息,順便說一句。我也剛剛投票結束這個問題。 – WesleyJohnson 2009-11-30 21:10:45