.net Ajax - Inhalte auf dem Update ausblenden

Ich habe eine Reihe von asp.net AJAX-Update-Panels auf einer Seite, die unabhängig aktualisiert werden können. Ich möchte, dass bei Verwendung der Aktualisierungsschaltfläche der Inhalt im Bedienfeld ausgeblendet wird und nur das Ladebild angezeigt wird, während Daten abgerufen werden (es dauert 5-10 Sekunden, bis die Daten vom Server zurückkommen). Wie kann dies am besten erreicht werden?

Antwort auf ".net Ajax - Inhalte auf dem Update ausblenden " 4 von antworten

Wird das Ladebild an der gleichen Stelle wie das Updatepanel platziert?

Wenn das der Fall ist, machen Sie einfach die Ladeplatte das gesamte Updatepanel abdecken.

Verwenden Sie CSS, um die Eigenschaft "display" während des Ladens auf "display" zu setzen, und setzen Sie sie wieder auf "inline" oder "block", wenn Ihre Werte aus dem AJAX-Bedienfeld zurückgegeben werden.

Sie können JavaScript verwenden, um das Bedienfeld an den Anfangs- und Endfunktionen des RequestHandlers auszublenden/einzuschalten:

var panel = new Sys.UI.Control($get("myUpdatePanel"));

function beginRequestHandler(sender, args) {            
    panel.set_visible(false); 
}

function endRequestHandler(sender, args) {
    panel.set_visible(true); 
}
<div class="overlay">
<img src="/...." alt="Loading" />
<div class="your_content">

</div>
</div>

Sie können den Z-Index von your_content auf einen Wert kleiner als den Overlay-Z-Index festlegen Nachdem Sie das vollständige Ereignis erhalten haben, können Sie alle Werte auf den Standardbereich festlegen.