Hi Tom!

H�rt sich an, als ob deine Seite beim Postback Ihren Status verliert. Hast
du das mal �berpr�ft?

Und wo f�gst du die Items hinzu? Im Page.Load? Dann musst du um die herum
unbedingt ein

if not page.ispostback then
                ddlMarke.Items.Add("-- Hersteller w�hlen --")
            ddlModell.Items.Add("-- Modell w�hlen --")
            ddlTyp.Items.Add("-- Typ w�hlen --")
End if

Packen. Sonst l�st du bei jedem Postback einen neuen Fill der DDLs aus.

Gruss
Michael
 


> Hi Liste -
> 
> also ich habe drei DDLs wie folgt:
> 
> <asp:DropDownList id="ddlMarke" AutoPostBack="True" 
> OnSelectedIndexChanged="fillddlModell" 
> runat="server"></asp:DropDownList>
> 
> <asp:DropDownList id="ddlModell" AutoPostBack="True" 
> OnSelectedIndexChanged="fillddlTyp" runat="server"></asp:DropDownList>
> 
> <asp:DropDownList id="ddlTyp" runat="server"></asp:DropDownList>
> 
> alle ddls bekommen einen startwert:
>             ddlMarke.Items.Add("-- Hersteller w�hlen --")
>             ddlModell.Items.Add("-- Modell w�hlen --")
>             ddlTyp.Items.Add("-- Typ w�hlen --")
> 
> die ddlMarke wird mit Daten aus einer DataTable gef�llt, 
> sobald das Control aufgerufen wird.
> 
> w�hlt ma nun eine Marke aus, wird die funktion filldllModell 
> aufgerufen, die mir die zu der Marke geh�rigen Modelle in die 
> ddl f�llt.
> 
> das funktioniert auch wunderbar. code hierf�r:
>         'Funktion, die dem ddlMarke die Hersteller zuordnet
>         Sub filldllMarke(filterExp As String)
>             Dim sortExp As String = "hersteller ASC"
>             Dim neuerEintrag As String = ""
>             Dim drArray As DataRow()
>             drArray =
> CType(HttpContext.Current.Cache("fahrzeuge"),DataTable). _
>                             
> Select(filterExp,sortExp,DataViewRowState.CurrentRows)
> 
>             Dim i As Integer
> 
>             for i=0 to drArray.length-1
>                 if NOT drArray(i)("hersteller").ToString() = 
> neuerEintrag Then
>                     
> ddlMarke.Items.Add(drArray(i)("hersteller").ToString())
>                     neuerEintrag = drArray(i)("hersteller").ToString()
>                 End If
>             next
>         End Sub
> 
> nun soll das spiel ja weitergehen. wenn ich nun ein modell 
> ausw�hle, soll die ddl mit den dazugeh�rigen typen gef�llt 
> werden, was die funktion filldllTyp bewerkstelligen soll, die 
> eigentlich im grunde genauso aussieht, wie die fillddlModell:
> 
>         'Funktion, die dem ddlTyp die Fahrzeug-Typen zuordnet
>         Sub fillddlTyp(sender As Object, e As System.EventArgs)
>             Dim filterExp As String = "fahrzeugart='"& fahrzeugart _
>                           & "' AND hersteller='" &
> ddlMarke.SelectedItem.Text.toString.Trim() & "' AND modell='" _
>                           & 
> ddlModell.SelectedItem.Text.toString.Trim() & "'"
> 
>             lbTest.Text = filterExp
> 
>             Dim sortExp As String = "typ ASC"
>             Dim neuerEintrag As String = ""
>             Dim drArray As DataRow()
>             drArray =
> CType(HttpContext.Current.Cache("fahrzeuge"),DataTable). _
>                             
> Select(filterExp,sortExp,DataViewRowState.CurrentRows)
> 
>             Dim i As Integer
> 
>             for i=0 to drArray.length-1
>                 if NOT drArray(i)("typ").ToString() = 
> neuerEintrag Then
>                     ddlTyp.Items.Add(drArray(i)("typ").ToString())
>                     neuerEintrag = drArray(i)("typ").ToString()
>                 End If
>             next
>         End Sub
> 
> 
> nur hier funktioniert es irgendwie nicht.
> 
> ich habe in meiner modell-ddl mehrere modelle. wenn ich eines 
> ausw�hle, macht er auch einen postback nur:
> 
> a) bleibt er nicht auf dem selektierten modell, sondern 
> springt immer auf
> "-- Modell w�hlen --"
> b) was wohl damit zusammenh�ngt, wenn ich das aktuell 
> ausgew�hlte modell mit
> ddlModell.SelectedItem.Text.toString.Trim()  abfrage, bekomme 
> ich immer den string "-- Modell w�hlen --" zur�ck, obwohl ich 
> ja was anderes angew�hlt habe.
> 
> wie kann den sowas passieren ? ? ?
> 
> habe keinen plan, was ich da falsch mache. bitte helft mir 
> runter vom schlauch. :-/
> 
> 
> tom 
> 
> 
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
> 

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an