in meiner page_load funktion von meiner default.aspx lade ich controls rein. unter anderem auch das control mit der suchmaske und den ddls. wird dieses control geladen, f�lle ich in der page_load funktion der default.aspx die ddl Marke mit werten (rufe die funktion fillddlMarke des geladenen controls auf). von diesem ddl merkt er sich immer alles. was selektiert wurde etc . . .
die anderen zwei ddls, die in abh�ngigkeit von ddlMarke sind, f�lle ich innerhalb des geladenen controls durch einen postback beim itemChange des ddlMarke. wahrscheinlich muss ich die anderen zwei ddls dann auch von meiner default.aspx aus f�llen, nur wie kann ich das machen, wenn ich erst nach dem page_load den gew�hlten wert meiner ddlMarke abfragen kann ? ? ? :-/
----- Original Message ----- From: "Michael Reichstein" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, December 28, 2004 7:53 PM
Subject: AW: [Asp.net] DropDownList Problem
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 ifPacken. 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
_______________________________________________ Asp.net Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
