ja, selvfølgelig - den store forskel er at javascript foregår på klienten og .NET på serveren, så du skal foretage et postback. Du kan se et simpelt eksempel fra MS her; http://support.microsoft.com/kb/317794 - det eneste du skal sikre dig i forhold til eksemplet fra MS, i hvert fald såfremt du skal have værdier ud fra tekstboksene igen, er at kontrollerne skal genskabes igen efter også andet postback og at kontrollerne skal have præcis samme ID'er igen.
Nu laver jeg normalt ikke løsning til folk her på eksperten, da spørgsmålet også er oprettet i en forkert kategori så.
Generelt set er det jo bare noget ala:
ComboBox hvor du kan vælger hvor mange TextBox der skal vises. En knap til at "Lave dem", som hiver nummeret ud af din combox, og så bliver der lavet X antal textbox'e som bliver tilføjet et Panel.
Men hvad har du prøvet, så kan vi tage den derfra ...
for (int i = 0; i < int.Parse(comboBox1.SelectedItem.ToString()); i++) { int position = panel1.Controls.Count * 30; TextBox tb = new TextBox { Text = "Tekstbox nr. " + (panel1.Controls.Count + 1).ToString() }; tb.Location = new Point(12, position); panel1.Controls.Add(tb); }
Der blev bare nævnt javascript, så gættede jeg på at applikationen var web. Idéen fra linket er i hvert fald det samme - det er bare en anden kontrol der skal benyttes.
Jeg kan ikke lige huske properties i hovedet og har ikke noget Visual Studio kørende - men lidt intellisense burde kunne give dig det rigtige resultat. Måske hedder den bare comboBox1.SelectedValue.
Tanke mæssigt er ideen god ... men der er 100 ting der kan gå galt.
Hvis du vil have vi skal hjælpe, så post din kode her eller lav et eksempel til os som viser fejlen ... og upload det et sted.
Hvis du ikke gør en af overstående 2 ting, er der intet vi kan gøre.
1 til 10, ja det er et tal. Men du får en fejl som siger den ikke kan lave det om til en int, ergo, må det som står i din dropdownbox ikke være et tal.
Her er noget af koden: private void combo_skuespiller_SelectedIndexChanged(object sender, EventArgs e) {
for (int i = 0; i < int.Parse(combo_skuespiller.SelectedItem.ToString()); i++) { int position = groupBox4.Controls.Count * 30; TextBox tb = new TextBox { Text = "Tekstbox nr. " + (groupBox4.Controls.Count + 1).ToString() }; tb.Location = new Point(12, position); groupBox4.Controls.Add(tb); } }
Det er koden som skulle lave boksene, ud fra det antal som er i dropdown boksen.
Hej alle sammen Jeg har ikke hørt noget efter at jeg lå produktet ud på nettet, så jeg har selv leget lidt med problemet.
Jeg har denne kode: private void combo_skuespiller_SelectedIndexChanged(object sender, EventArgs e) { for (int i = 0; i < int.Parse(combo_skuespiller.SelectedItem.ToString()); i++) { int position = groupBox4.Controls.Count * 30; TextBox tb = new TextBox { Text = "" + (groupBox4.Controls.Count + 1).ToString() }; tb.Location = new Point(30, position); groupBox4.Controls.Add(tb); } } Den skulle gerne lave en text box for mig, men den kom hele tiden med fejl. Nu har jeg makeret nogle ting ud: private void combo_skuespiller_SelectedIndexChanged(object sender, EventArgs e) { // for (int i = 0; i < int.Parse(combo_skuespiller.SelectedItem.ToString()); i++) // { int position = groupBox4.Controls.Count * 30; TextBox tb = new TextBox { Text = "" + (groupBox4.Controls.Count + 1).ToString() }; tb.Location = new Point(30, position); groupBox4.Controls.Add(tb); // } }
Så virker den fint, men den laver kun en box, og det er lige meget om jeg vælger 1 eller 5 i min combobox.
Jeg ændrede koden til "SelectedValue" i stedet for "SelectedItem", derefter virkede det fint, ingen fejl kode :)
Mange tak for hjælpen....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.