2010-07-05 35 views
1

這是很難解釋,並給出了基於它的代碼。所以,謝謝你,現在,如果你甚至試圖幫助失去大部分的頁面內容上第二回傳

我有一個更新面板的形式。這張貼表單並驗證它。返回任何無效字段的錯誤消息字符串,例如「字段xyz是必填字段,字段abc必須是數量」

當我輸入錯誤的日期時,它會回傳到正確的位置,並將文本顯示在底部的div中該更新面板的目的是在頁面更新。 (只有它應該改變)

這個工程,但第二次我打(說我輸入無效的數據兩次)完整的形式將消失離開我只是網站的旗幟和錯誤信息是回。

我用盡註釋掉的代碼後的整個背部,使得按鈕實際上並沒有做任何事情,但它仍然有同樣的問題(當然這一次不會必須創建一個錯誤消息)

所以我只能認爲這是值得做的的UpdatePanel本身以及它是如何工作的,但我已經在這個一直盯着的年齡,並沒有更多的想法!

回答

0

我發現這個問題(約5小時後),但不明白。這是disppearing曾在UpdatePanel UpdatePanel的我用它

</ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="btnTabs" /> 
    </Triggers> 
</asp:UpdatePanel> 
<asp:PlaceHolder runat="server" ID="phldActionButtons" /> 

佔位符裏面有我是用我的更新面板的控制之外。 您可以看到的關閉更新面板是

的內容通過簡單地移動contenttemplate內的佔位符,它似乎解決了問題。 (不知道爲什麼它會隱藏/刪除整個更新面板,只有它是它在回發驗證的形式!

1

很難回答這個問題沒有一些示例代碼。看看你的代碼隱藏在做您的頁面,要知道,你的更新面板內,你的回發實際上是一個AJAX回調。你的頁面被再次執行,但只有更新面板的內容被重新渲染,並且只有相同的內容應該在客戶端更新。

通常,當我在第二次或後續回發時遇到問題時,會在初始化代碼運行時執行,當我不想要它時。

我的建議是看看你正在檢查的地方if (Page.IsPostback)if (Page.IsCallback)並玩弄這些。也許你需要保護,處理以下塊內的表格服務器端代碼:

if (Page.IsCallback) 
{ 

} 
0

我剛剛遇到類似的問題。約5小時後,我決定試試這個:

UpdateMode="Conditional" 

我的UpdatePanel和它停止導致第二回傳!

相關問題