2008-09-12 9 views
0

Ich habe eine Radiobutton-Liste auf einer Seite, die zum Konfigurieren von Produkten verwendet wird. Wenn die Seite das erste Mal geladen wird, wird die erste Liste der Optionen angezeigt. Sie wählen eine von ihnen aus und klicken dann auf einen "Next Step" -Button und die Seite postet zurück und zeigt eine neue Radiobutton-Liste für Schritt 2. Wenn ich jetzt auf einen "Previous Step" -Button klicke, kann ich die vorherige Liste der Optionen leicht aufrufen aber ich kann nicht aus irgendeinem Grund eine der Radio-Tasten ausgewählt werden. Ich kann leicht den Wert zurückbringen, den ich brauche. gleich nachdem ich die radiobutton-liste gemacht habe, habe ich einen schritt, der nur radiobuttonlist.selected = "somevalue" sagt, abhängig davon, was der benutzer gewählt hat, als er den ersten schritt das erste mal gemacht hat.Problem mit ausgewählten Radiobuttonlist Wert auf Postback vb.net

wenn ich debugge ich sehe, dass der Wert korrekt ist und angewendet wird. Wenn die Seite jedoch angezeigt wird, ist der Radiobutton nicht ausgewählt.

Ich habe bemerkt, dass, wenn ich meine „Zurück“ klicken, während die Folowing Schritte auftreten Debuggen .:

der page.load Handler läuft und den Code in meinem wenn nicht NICHT-Block nicht Page.IsPostBack laufen, wobei ist richtig. dann werden die Handles für die Schaltfläche, die ich gerade geklickt habe, ausgeführt. aber danach wird der page.load-Handler erneut ausgeführt, aber dieses Mal wird der Code im if page.isblockback-Block ausgeführt ...

ist das normal? dass der page.onload-Block bei einem Postback zweimal so ausgeführt wird? Ich denke, dass es etwas damit zu tun hat, warum mein Wert nicht angewendet wird.

Antwort

0

Versuchen Sie die Einstellung AutoEventWireup = False auf der Seite.

1

Es klingt wie Sie verursachen eine Umleitung zu passieren. Sie tun nicht zufällig einen Response.Redirect, um auf die Originalseite "zurück zu kommen"? Dies würde die von Ihnen beschriebene Funktionalität verursachen. Sie würden das Postback zuerst von der Schaltfläche "Zurück" erhalten, um die Seite zu verlassen, und dann erhalten Sie eine neue Anforderung (IsPostback = false), wenn die Seite neu geladen wird.

0

Ich hatte eine response.redirect, die ich benutzte, aber ich entfernte es. Ich nehme an, dass ich eine gründliche Überprüfung machen kann, um sicherzustellen, dass ich nirgends eine andere habe. Ich werde die AutoEventwireup-Eigenschaft auch versuchen.

0

in Ordnung, es sieht aus wie die AutoEvenWriteUp -Eigenschaft wurde bereits auf falsch gesetzt, bevor ich überhaupt angefangen habe. also ich glaube nicht, dass es das war.

Ich habe keine anderen Weiterleitungen irgendwo gesehen ... Ich denke, die Suche wird fortgesetzt.

0

Haben Sie versucht, den ausgewählten Wert während der Vorrender-Phase der Seite anstelle von Page_Load zu setzen?

0

Versuchen Sie, diese

yourRadioButonList.Items.FindByValue(YourSavedValue).Selected = true; 
0

Ich hatte das gleiche Problem zu tun, wie das, was Thunder3 erwähnt, ich auf die Seite eine Umleitung tat zurück und wurde ein Verfahren auf Page_Load Aufruf, die Radiobuttonlist ausgewählt Wert einzustellen. Der ausgewählte Wert wurde jedoch nicht auf die RadioButtonList angewendet.

Ich löste das Problem durch den Aufruf der Methode auf Page_Init stattdessen.

0

Einer der wahrscheinlichen Grund, und der, den ich in letzter Zeit konfrontiert wurde, ist aufgrund der Tatsache, dass Radiobuttonlist die Elemente auf der Grundlage von Wert und nicht ID unterscheiden, wenn doppelte Werte vorhanden sind, wird dieses Problem beobachtet.

Unterlink bieten die detaillierte Erklärung.

RadioButtonList selected item does not stick on postback