2017-10-18 7 views
0

Problem Beschreibung verschwindet:Nach dem teilweisen Postbacks von Update-Panel, alles außerhalb des Update-Panel

Ich habe eine AJAX-Datei-Uploader Sonde in Update-Panel. Nach dem erfolgreichen Datei-Upload muss ich dem Benutzer ein Bootstrap-Popup anzeigen.

Fall 1: Wenn ich die update-panel Eigenschaft "updateMode = 'conditional'" hinzufüge, funktioniert das Popup wie erwartet nach erfolgreichem Datei-Upload. Aber das Steuerelement, das außerhalb von Update-Panel gehalten wird, wird nicht nach Partial-Postback gerendert. Ich verwende die folgende Code-Basis den JavaScript-Code aus dem Code zu triggern hinter:

ScriptManager.RegisterStartupScript(this, this.GetType(), "AddStudent", 
    "addStudent('1','xyz','10000');",true); 

Fall 2: Aber wenn ich die „Updatemode =‚bedingte‘“ Eigenschaft, die Kontrollen außerhalb des Update- entfernen Panel verschwindet nicht nach partiellem Postback, aber das Popup funktioniert überhaupt nicht, dh das Skript wird nicht im DOM registriert.

Bitte helfen.

+2

Mögliches Duplikat von [JavaScript-Methode kann nicht mit Code-Behind über das Update-Panel ausgelöst werden] (https://stackoverflow.com/questions/46788655/unable-to-trigger-javascript-method-from-code-behind-using -update-panel) – VDWWD

+0

Diese Frage ähnelt einer anderen Frage. – VDWWD

+0

Überhaupt nicht .. Früher konnte ich die JavaScript-Methode von Code-behind nicht auslösen. Jetzt kann ich, aber die Steuerelemente außerhalb der Update-Panel verschwindet nach teilweisem Postback. Wahrscheinlich ist das Problem mit AJAX-Uploader. Es funktioniert gut, wenn ich AJAX upoader vom Update-Panel entferne. Ich hoffe du verstehst den Unterschied. Danke im Voraus! –

Antwort

0

Nach dem Ausgraben jeder & jede Zeile Code, endlich habe ich den Grund hinter dem Bug.

Ein "div" -Tag, das innerhalb des Update-Panels platziert wurde, wurde NICHT wie erwartet geschlossen. Hier ist der Fehler & die Lösung:

Fehl tag:

<div class="vertical-bar"/> 

Lösung:

<div class="vertical-bar"></div> 

Wie die obige DIV nicht richtig geschlossen wurde, das DOM war unter einem Impression, dass alle Elemente unter dem Div, sind innerhalb des Div und als Ergebnis wurden alle Kontrollen innerhalb Update-Panel gerendert.

Daher wurden im Prozess des Partial-Postback die anderen Steuerelemente verschwunden.