Veröffentlicht 31. Juli 201015 j Hallo Miteinander! Ich habe ein Problem, bei dem ich seit Stunden nicht weiter komme und hoffen, dass mir auf diesem Weg jemand helfen kann. Ich implementiere gerade eine Access-Anwendung in ASP.net. Für einen Insert-Befehl einer Datenbank benötige ich die selected.value aus einer dropdownlist. diese wird mit einer abfrage gefüllt. code: <% Dim myDataReader2 As SqlDataReader Dim mySqlConnection2 As SqlConnection Dim mySqlCommand2 As SqlCommand 'SQL- Connectionstring für den Zugriff auf die SQL- Server Datenbank wird zugewiesen mySqlConnection2 = New SqlConnection(ConfigurationManager.ConnectionStrings("SQLConnStr").ConnectionString) 'Zuweisen des SQL- Befehls mySqlCommand2 = New SqlCommand("SELECT SUB_NAME, SUB_KEY FROM SUBUNTERNEHMER", mySqlConnection2) 'Verbindung wird geöffnet mySqlConnection2.Open() 'SQL- Befehl wird ausgeführt myDataReader2 = mySqlCommand2.ExecuteReader(CommandBehavior.CloseConnection) 'Daten aus der Abfrage werden der (Liste) zugewiesen Dropdownlist1.DataSource = myDataReader2 Dropdownlist1.DataTextField = "SUB_NAME" Dropdownlist1.DataValueField = "SUB_Key" Dropdownlist1.DataBind() %> Dropdownlist: <asp:dropdownlist id="Dropdownlist1" runat="server" visible="false" > </asp:ListItem Value="SUB_KEY" selected="selected"> </asp:dropdownlist> *Anmerkung* Visible ist auf false, weil die liste nur beim anlegen eines neuen datensatzes eingeblendet wird PROBLEM: Um einen neuen Datensatz anzulegen benötige ich für den Datensatz als foreign_key den SUB_KEY. Dieser wird in der dropdownlist auch als value ausgegeben. Und als text wird der SUB_NAME angegeben. so sieht der html-code der dropdownlist aus: <select name="Dropdownlist1" id="Dropdownlist1"> <option value="61">MArtin</option> <option value="5">Fischer</option> <option value="6">Fritze</option> <option value="7">Brand</option> <option value="60">test</option> </select> Ich weiß nur nicht, wie ich diesen jetzt auslesen und übergeben kann, um ihn als variable in das sql_statement zu übergeben.. Vielleicht hat ja jemand eine Idee. Vielen Dank schonmal! Grüße Martin
1. August 201015 j <select name="Dropdownlist1" id="Dropdownlist1" runat="server"> Im Code-Behind i.e.: Dropdownlist1.SelectedValue
1. August 201015 j Aber, wenn ich asp:dropdownlist nehme, generiert er doch ein html select..!? Oder verstehe ich da etwas falsch?
1. August 201015 j wenn das über ein asp-control läuft, kann man einfach im code-behind z.B. {ControlId}.SelectedValue benutzen. ASP mapped die Controls über die .designer.cs mit benutzbaren Objekten im Code-Behind.
1. August 201015 j Ok, soweit klappt das auch, bzw. hatte ich das anfangs probiert, dann jedoch wieder verworfen, weil er mir immer nur den ersten wert der liste ausgegeben hat
1. August 201015 j er übergibt sogar gar keine value, sondern nur 0, wenn ich versuche die vaule über: dropdownlist1.selectedvalue auszulesen
1. August 201015 j habe es jetzt so gelöst, dass ich das formular via post sende und die variable dann mit request auslese. ist vielleicht nicht elegant gelöst, aber über .selectedvalue wurde nix übergeben. habe es testweise nochmal mit einer statischen asp:dropdownlist probiert, da hat es ohne probleme geklappt, nur nicht mit der dynamischen. komisch. über bessere möglichkeiten, als einen post-request würde ich mich freuen..
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.