SelectedValue bei DropDownListe

12/02/2010 - 13:48 von Frank Bach | Report spam
Hallo NG,

da ASP-Neuling habe ich bestimmt einen groben Denkfehler:

Ich habe eine gefüllte DropDownListe - ich wàhle einen Eintrag aus und will
diesen in einer Datenbank speichern.
Das klappt auch alles: nur wird immer der erste Eintrag der Liste
gespeichert NICHT der ausgewàhlte.

in dropListe.SelectedValue bzw. dropListe.SelectedItem.Text ist beim
Debuggen in der Speicherroutine der falsche Wert drin.

Liegt mein Problem im Speichern-Button?

<asp:Button ID="cmdSpeichern" runat="server" Text="Speichern" Width="353px"
/>



Protected Sub cmdSpeichern_Click(ByVal sender As Object, ByVal e As
EventArgs) Handles cmdSpeichern.Click

msgbox(dropListe.SelectedItem.Text)

End Sub


Nach dem Speichern ist in der HTML-Seite auch wieder der erste Eintrag
ausgewàhlt nicht mehr der ausgewàhlte!

Danke!

Frank
 

Lesen sie die antworten

#1 Thomas Bandt
12/02/2010 - 13:55 | Warnen spam
Frank Bach wrote:
da ASP-Neuling habe ich bestimmt einen groben Denkfehler:

Ich habe eine gefüllte DropDownListe - ich wàhle einen Eintrag aus und will
diesen in einer Datenbank speichern.
Das klappt auch alles: nur wird immer der erste Eintrag der Liste
gespeichert NICHT der ausgewàhlte.



HTTP ist zustandslos, d.h. dass auch der Lebenszyklus
einer ASP.NET-Seite mit dem Ausliefern im Browser
beendet ist. Speicherst du, beginnt alles von vorne.

Das heißt in deinem Fall auch das Vorbelegen bzw.
Füllen der Werte der DropDownList. Und da alles
nacheinander abgearbeitet wird, wird die Liste erst
befüllt und erst danach wird cmdSpeichern_Click()
ausgeführt.

Also: entweder spàter vorbelegen, oder, noch einfacher,
nur dann vorbelegen, wenn kein Postback ausgeführt wird:

if(!Page.IsPostback)
{
// Vorbelegen
}

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de

Ähnliche fragen