2014-09-19 75 views
1

我在ModalPopupExtender中使用UpdatePanels,它運行良好(當單擊某些控件時,允許刷新對話框的某些部分,同時避免完整的回發),但有一件小事並不完全符合我的意願。ASP.NET:UpdatePanel中的按鈕是否會導致回傳?

OK按鈕在默認情況下處於禁用狀態,並且在對話框中進行更改時啓用,因此按鈕位於UpdatePanel中。不過,我希望點擊「確定」按鈕來完成回發。有沒有一種「自然」的方式來實現這種行爲?

N.B.避免完整的回發不僅僅是美觀的問題:它們導致對話框從屏幕上消失。

回答

1

如果對話框從屏幕上消失,只需在完整回發完成後再次出現。

不管怎麼說,導致完全回發,你只是把它註冊爲一個普通PostBackTrigger而不是AsyncPostBackTrigger

<asp:UpdatePanel runat="server"> 
    <Triggers> 
     <PostBackTrigger ControlId="OkBtn"> 
    </Triggers> 
    <ContentTemplate> 
     <asp:Button runat="server" id="OkBtn" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

順便說一句,我不推薦使用的UpdatePanel和ModalPopupExtender和其他任何從Ajax控件工具包。他們不適合與其他容易定製的客戶端的東西。而應使用dialog from jQuery UIBootstrap或其他一些良好支持的客戶端框架,並使用AJAX將數據傳遞到服務器。以這種方式組合一個漂亮的網站會容易得多。

+0

梅森 - 感謝您對其他選擇的建議。我會看着他們,看看他們是否讓我的生活更輕鬆。現在是嘗試它們的好時機:在Google決定放棄Chrome中的showModalDialog函數後,我正在重構整個Web應用程序。 – ConnorsFan 2014-09-19 13:35:52