2009-04-23 12 views
0

Ich habe ein Dropdown und 2 Listenfelder in einem aktualisierten Panel und eine Schaltfläche zum Speichern auf der Seite. Wenn die Seite geladen wird, lade ich eines der Listenfelder mit Daten, die sich auf das ausgewählte Dropdown-Element beziehen. Wenn der Benutzer ein anderes Element in der Dropdown-Liste auswählt, mache ich ein Postback und lade die Listbox mit Daten, die sich auf das ausgewählte Element beziehen, neu. Wenn der Benutzer auf der Seite auf "Speichern" klickt, wird die Listbox angezeigt. Elemente sind die Originalelemente, die beim Laden der ersten Seite geladen werden, und die Elemente, die auf der Seite angezeigt werden.Ajax Update Pannel Problem

Irgendwelche Ideen, wie das zu beheben?

Antwort

0

Um dieses Problem zu beheben, musste ich den Viewstate von der Clientseite aktualisieren. Im Folgenden finden Sie die Javascript-Funktion, die ich einmal die Postbacks des Update-Panel genannt abgeschlossen sind:

Funktion UpdateStateforList (Liste) {

var i; 
var state = "1"; 
for(i = 0; i < list.options.length; i++){ 
    state += "|" + list.options[i].text + "|" + list.options[i].value; 
} 
eval("document.forms[0]." + list.id + "_State.value = state"); 

}

0

Stellen Sie sicher, dass Sie die Daten nicht bei jedem Postback binden. Verwenden Sie Page.IsPostback, um dies zu überprüfen.

+0

ich schon, dass täte. Eine andere Sache. Wenn ich die Listbox über Javascript aus der anderen Listbox lade, funktioniert alles. –

+0

Auch wenn ich das Update pannel alles funktioniert gut. –