((ModalPopupExtender)this.Parent.Parent.FindControl("modalPopupExtender'sID").Show();
就在调用子modalpoup的Show()方法之前,它按照我们最初的预期工作。在我看来,因为当UpdatePanel被嵌套时,它们可以发回它们的父级,父级modalPopup“不知道”它应该显示并重新加载面板的可见性,从零开始为false。由于子modalPopup随后嵌套在可见性为false的父面板中,因此对其调用Show()也没有效果。因此,不是打开另一个modalPopup,而是关闭当前的modalPopup。这不是一个错误,只是我们没有预料到的行为,所以很难追踪到任何地方都不会抛出异常,但我认为上面的解释是有道理的。。。如果我错误地理解了这个问题,请澄清它并启发我,因为我认为这并不是一直都会发生的事情!
在这一点上,对于这种特殊情况,我们在编写某些控件时遇到了困难,因为它们最终不会以嵌套的UpdatePanel结束,所以不会发生这种情况,但我很好奇:
以前有人遇到过这个问题吗?你有没有想出一个聪明的解决办法,不需要调用FindControl()来重新显示()所讨论的modalpoup?