Ich habe eine solche Seite und die Kontrollstruktur ist so.In der Server-Seite, wie Sie feststellen, ModalPopupExtender ist derzeit verborgen?
UpdatePanel
Button
ModalPopupExtender
ModalPopup Content Container
Anfänglich ModalPopup Content Container
ist eine leere Kontrolle.
Nachdem der Benutzer auf Button
geklickt hat, wird ein asynchrones Postback ausgelöst. Während des Postbacks generiert der Server den Inhalt und hängt an ModalPopup Content Container
an. Stellt auch die Eigenschaften von ModalPopupExtender
ein. Schließlich ruft ModalPopupExtender.Show()
Methode und UpdatePanel.Update()
Methode, um das modale Popup anzuzeigen.
Diese Methode funktioniert einwandfrei, wenn alle Steuerelemente in ModalPopup Content Container
eine einfache Steuerung enthalten. Wenn ein Steuerelement eine Schaltfläche ist, die auf die Serverseite zurückgeschickt werden muss, ist das ein Problem.
Da die Steuerelemente in ModalPopup Content Container
dynamisch erstellt wird. Wenn ein Steuerelement in ModalPopup Content Container
ein Postback-Ereignis auslöst, muss das Steuerelement erstellt werden, bevor RaisePostBackEvent
serverseitig aufgerufen wird.
Meine Idee ist zu bestimmen, ob die ModalPopupExtender
ist versteckt oder auf der Client-Seite angezeigt, um die dynamische Kontrolle in ModalPopup Content Container
neu zu generieren.
Also meine Frage ist, wie man eine ModalPopupExtender
ist versteckt oder gezeigt.
Of coz, wenn Sie denken, dass meine Methode überhaupt nicht funktioniert, bitte geben Sie mir einige Vorschläge. Vielen Dank!
Ist dies der einzige Weg? Ich habe es schon mal durch, aber ich versuche, die ursprüngliche Logik von ModalPopupExtender zu betrachten. –
Ich denke nicht, dass MPE eine solche Eigenschaft verfügbar macht und Ihre nächste Option wäre also, ein benutzerdefiniertes Steuerelement zu schreiben, das von MPE mit der gewünschten Funktionalität abgeleitet wird. – gbs