如果在ModalPopupExtender中使用UpdatePanel,但内部控件的操作造成了对话框消失的话,可能是因为:
ModalPopupExtender外面还有一个UpdatePanel,内部控件的操作造成了外部Updatepanel的更新,从而使Popup隐藏。
解决方法是: 将Extender外面的UpdatePanel的ChildrenAsTriggers设置为False,UpdateMode设置为Conditional,然后对每个需要的控件天津Triger声明。
参考:
Re: Firing the Listbox SelectedIndexChanged event causes the ModalPopupExtender window disappear
Nov 29, 2009 03:53 PM
Maybe you are using a big updatepanel with modalextender and other controls inside it.
So, when you update the content of the updatepanel, in the listboxes events, the html handered for the modalextender also updates.
Use a internal updatepanel inside the content of the modal, that has only the listbox controls, and when the listboxes fires the events, update only the internal updatepanel.
Set the property ChildrenAsTrigger of the outer updatepanel as False, and set properly then trigger of the outer updatepanel with the buttons wich shows the popup.
This won’t hidden the popup